{
  "contractName": "IexecOrderManagementDelegate",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "appHash",
          "type": "bytes32"
        }
      ],
      "name": "ClosedAppOrder",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "datasetHash",
          "type": "bytes32"
        }
      ],
      "name": "ClosedDatasetOrder",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "requestHash",
          "type": "bytes32"
        }
      ],
      "name": "ClosedRequestOrder",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "workerpoolHash",
          "type": "bytes32"
        }
      ],
      "name": "ClosedWorkerpoolOrder",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "appHash",
          "type": "bytes32"
        }
      ],
      "name": "SignedAppOrder",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "datasetHash",
          "type": "bytes32"
        }
      ],
      "name": "SignedDatasetOrder",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "requestHash",
          "type": "bytes32"
        }
      ],
      "name": "SignedRequestOrder",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "workerpoolHash",
          "type": "bytes32"
        }
      ],
      "name": "SignedWorkerpoolOrder",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "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": "uint8"
            },
            {
              "internalType": "bytes",
              "name": "sign",
              "type": "bytes"
            }
          ],
          "internalType": "struct IexecLibOrders_v5.AppOrderOperation",
          "name": "_apporderoperation",
          "type": "tuple"
        }
      ],
      "name": "manageAppOrder",
      "outputs": [],
      "stateMutability": "nonpayable",
      "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": "uint8"
            },
            {
              "internalType": "bytes",
              "name": "sign",
              "type": "bytes"
            }
          ],
          "internalType": "struct IexecLibOrders_v5.DatasetOrderOperation",
          "name": "_datasetorderoperation",
          "type": "tuple"
        }
      ],
      "name": "manageDatasetOrder",
      "outputs": [],
      "stateMutability": "nonpayable",
      "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": "uint8"
            },
            {
              "internalType": "bytes",
              "name": "sign",
              "type": "bytes"
            }
          ],
          "internalType": "struct IexecLibOrders_v5.WorkerpoolOrderOperation",
          "name": "_workerpoolorderoperation",
          "type": "tuple"
        }
      ],
      "name": "manageWorkerpoolOrder",
      "outputs": [],
      "stateMutability": "nonpayable",
      "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": "uint8"
            },
            {
              "internalType": "bytes",
              "name": "sign",
              "type": "bytes"
            }
          ],
          "internalType": "struct IexecLibOrders_v5.RequestOrderOperation",
          "name": "_requestorderoperation",
          "type": "tuple"
        }
      ],
      "name": "manageRequestOrder",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"appHash\",\"type\":\"bytes32\"}],\"name\":\"ClosedAppOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"datasetHash\",\"type\":\"bytes32\"}],\"name\":\"ClosedDatasetOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"requestHash\",\"type\":\"bytes32\"}],\"name\":\"ClosedRequestOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"workerpoolHash\",\"type\":\"bytes32\"}],\"name\":\"ClosedWorkerpoolOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"appHash\",\"type\":\"bytes32\"}],\"name\":\"SignedAppOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"datasetHash\",\"type\":\"bytes32\"}],\"name\":\"SignedDatasetOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"requestHash\",\"type\":\"bytes32\"}],\"name\":\"SignedRequestOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"workerpoolHash\",\"type\":\"bytes32\"}],\"name\":\"SignedWorkerpoolOrder\",\"type\":\"event\"},{\"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\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"sign\",\"type\":\"bytes\"}],\"internalType\":\"struct IexecLibOrders_v5.AppOrderOperation\",\"name\":\"_apporderoperation\",\"type\":\"tuple\"}],\"name\":\"manageAppOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"sign\",\"type\":\"bytes\"}],\"internalType\":\"struct IexecLibOrders_v5.DatasetOrderOperation\",\"name\":\"_datasetorderoperation\",\"type\":\"tuple\"}],\"name\":\"manageDatasetOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"sign\",\"type\":\"bytes\"}],\"internalType\":\"struct IexecLibOrders_v5.RequestOrderOperation\",\"name\":\"_requestorderoperation\",\"type\":\"tuple\"}],\"name\":\"manageRequestOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"sign\",\"type\":\"bytes\"}],\"internalType\":\"struct IexecLibOrders_v5.WorkerpoolOrderOperation\",\"name\":\"_workerpoolorderoperation\",\"type\":\"tuple\"}],\"name\":\"manageWorkerpoolOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner.     * NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}}},\"userdoc\":{\"methods\":{\"manageAppOrder(((address,uint256,uint256,bytes32,address,address,address,bytes32,bytes),uint8,bytes))\":{\"notice\":\"*************************************************************************                        order management tools                          ***************************************************************************\"}}}},\"settings\":{\"compilationTarget\":{\"/home/amxx/Work/iExec/code/PoCo-dev/contracts/modules/delegates/IexecOrderManagementDelegate.sol\":\"IexecOrderManagementDelegate\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/amxx/Work/iExec/code/PoCo-dev/contracts/Store.sol\":{\"keccak256\":\"0x9e49d21b9e009a5b6e7a800ba71973a7e4ff96d5e806d67abaf9c2e8b6652532\",\"urls\":[\"bzz-raw://680a708e1a537b0ca413ac8342ea5e55c2c02ff5dd6d752d085739122955f1c6\",\"dweb:/ipfs/QmUcYhmJSrsNRsvo3W4ZB6DH6YFJHLvg6uLmropgGLTRhh\"]},\"/home/amxx/Work/iExec/code/PoCo-dev/contracts/libs/IexecLibCore_v5.sol\":{\"keccak256\":\"0x2ab8fa750e4d0832afc0b04686e46f020bfe115e5be29b2301f41f97509e2a6f\",\"urls\":[\"bzz-raw://750c1e0aebc8cfd8197561d412d6ae77558362845c3195ac59651139e21bbc7f\",\"dweb:/ipfs/QmPimAbBDdB2Yuw5PuWVQ9qa3BUz4Psrav2Y75Vh3Hmmrr\"]},\"/home/amxx/Work/iExec/code/PoCo-dev/contracts/libs/IexecLibOrders_v5.sol\":{\"keccak256\":\"0xf2fece8edb03040a06bc18ff9a7354a57c1762c7fd8e5c353e696dd38b7a2693\",\"urls\":[\"bzz-raw://b758832e3a0c3d168ce75cf9569d78104f90afda4d0d2aca80a6612860c49c66\",\"dweb:/ipfs/QmPdteQJsejwYs8Vq4zAKfLUjSECcrRmS1sT3uotFWXpdZ\"]},\"/home/amxx/Work/iExec/code/PoCo-dev/contracts/modules/DelegateBase.sol\":{\"keccak256\":\"0x465d3c959887af4a95487e7b0d8e7e579561ee1c5706957836e0b44698bad697\",\"urls\":[\"bzz-raw://61bc27189149a15383a3e4ff3ff4e10f395065949087eb77834e5f5effaea1d8\",\"dweb:/ipfs/QmesUKUoQ5dSRPKjnb2PYNgYPvBHoKvDvhehr9PPa3uawT\"]},\"/home/amxx/Work/iExec/code/PoCo-dev/contracts/modules/delegates/IexecOrderManagementDelegate.sol\":{\"keccak256\":\"0x472a9f99ac8cc7e7ccdaa2bf45fe0ac49569300b123fd7ffca57dd41d7897799\",\"urls\":[\"bzz-raw://d0c5f476c764c890dd3271fc707bb7a7a70e6c99e3324c3284b53ef269e9edbe\",\"dweb:/ipfs/Qmb3zf3CpTHJXX5eXNu3JESwj2oTkBwWKFwiYZ9YvRP2am\"]},\"/home/amxx/Work/iExec/code/PoCo-dev/contracts/modules/delegates/SignatureVerifier.sol\":{\"keccak256\":\"0x07290b9fa344722d1d6c488b60c01e9c5f797d197f90b5e46417ecc51d06e454\",\"urls\":[\"bzz-raw://e8243a0a4f80b271facddb70049160baf68478da417e4d2de46f6449dc6b13a3\",\"dweb:/ipfs/QmSgFHuYiDP7nBa6Vot1xP4Vtqzy36Ntkkv9ugHw2SbnW2\"]},\"/home/amxx/Work/iExec/code/PoCo-dev/contracts/modules/interfaces/IexecOrderManagement.sol\":{\"keccak256\":\"0x8b79ac33287ff55c3fc7ca8b61f422dd59979901dda99d64320bc8f858bced56\",\"urls\":[\"bzz-raw://c705f5671692eb90d26a55897271389fc5ecb1baa883aa48a1a46077524d6ff4\",\"dweb:/ipfs/QmPfxZRG4gdgRUbFHBFf4EBCDTwHP5pHg5H3mcmrbQD4Hi\"]},\"/home/amxx/Work/iExec/code/PoCo-dev/contracts/registries/IRegistry.sol\":{\"keccak256\":\"0x22cd93dce3ec7f424ca689cdd4d5aa6a7d0d5ff81133c8530c5397f206100b84\",\"urls\":[\"bzz-raw://3a12bb04edc05201d7b0f00d7a401152daaa0ee2fd794a848fd760290edcfffa\",\"dweb:/ipfs/QmXYRdrHLLcutF1JLcKSKiCRMxo5X4713BfXFYM4gzrXWc\"]},\"/home/amxx/Work/iExec/code/PoCo-dev/contracts/registries/Registry.sol\":{\"keccak256\":\"0xdf594884fc674966628ebbb2b88bc470c89881fdad988812c815bf371ce8b387\",\"urls\":[\"bzz-raw://2386446324af596f08c0a09a2a9047a1d24187ae19c6d07ad727dfa72ff597c9\",\"dweb:/ipfs/QmYmN8jTjiLmcEKXxFPCouubca8AU92agFt4zMeNpkiLey\"]},\"/home/amxx/Work/iExec/code/PoCo-dev/contracts/registries/RegistryEntry.sol\":{\"keccak256\":\"0xc5b8b64b19a7f26bdeda8dce637b65c16388adfdc6a77e02455c74722908ed8b\",\"urls\":[\"bzz-raw://a25ccdaeff6f497a58b6b5fda0f82a53243e51be2f59a8ebd4f3f294a95c9f03\",\"dweb:/ipfs/QmWNqwVbTmdVjYYuEaG32HR8P2fDWbTD6YDGX2B623976a\"]},\"/home/amxx/Work/iExec/code/PoCo-dev/contracts/registries/apps/App.sol\":{\"keccak256\":\"0x2fda8eaa946a91bec7b6a6e8b6e39d59dfbf02da48a3390924ccddf6c878765e\",\"urls\":[\"bzz-raw://3f0be3037a792a5feaa5c82185e8c1098f3ceeca14c8f7c733b3a79262da9680\",\"dweb:/ipfs/QmdStYN91aJSXz52YeYRczjaxmEpYoFHZjRd2Rktzu1SEN\"]},\"/home/amxx/Work/iExec/code/PoCo-dev/contracts/registries/datasets/Dataset.sol\":{\"keccak256\":\"0x343c0cb970203c54630853190b6535f7170e9e3d32371fb30950c0b73140fb47\",\"urls\":[\"bzz-raw://7ffd18cda40275e7de235d1aa1166410a8e377ef9f1872fa50f58b1053391e03\",\"dweb:/ipfs/QmUkg99KkPyi5DKZNSbyCm9Lw2GMPQW2r7jJkywg4SSqnF\"]},\"/home/amxx/Work/iExec/code/PoCo-dev/contracts/registries/workerpools/Workerpool.sol\":{\"keccak256\":\"0xba54886c81794791a38e974d2b24f0789ad21b2a55a0b65abb63596b4e19d888\",\"urls\":[\"bzz-raw://cc6da6f555b9618d54b5a952ebed60fdd469f26dd938adb3d29fe3c1564465f5\",\"dweb:/ipfs/QmbAKdBrNrjF8YGgWL7LtLhRUH2nwpgD1KBiNE6Xd7Cn4q\"]},\"@ensdomains/ens/contracts/ENS.sol\":{\"keccak256\":\"0x10b88673d8c180cd62523be4fec7607c65594eb4f0c561fa0fbc0784422b4871\",\"urls\":[\"bzz-raw://b3de1882a4a1a1b13c27ee6dc04cc58c34ac392c80cad507de2cdfa8c02712fe\",\"dweb:/ipfs/QmeKcaBF8QdJjXiqFrPJkAtK3et5kUL8XJrnHjwhAThRMT\"]},\"@iexec/interface/contracts/IexecClerk.sol\":{\"keccak256\":\"0x703252a638a5a7e2b600395fd920712a1ac259018bc9578fe581a77fa2f008a9\",\"urls\":[\"bzz-raw://072b9e948e5ac4a7f60466c23b322ea0f1aca711f1a94616e658600c2a4c36a2\",\"dweb:/ipfs/QmRP57bkhWDr5BeawfjiKsbdwFiHnw6nc6zgiEad3hQoSJ\"]},\"@iexec/interface/contracts/IexecHub.sol\":{\"keccak256\":\"0x8e293b7624550823838ed9113400544c5980afac1043ddacad7a862c91b0840d\",\"urls\":[\"bzz-raw://ae34ebc355838595ee69b24a31e60deb186455cc388c88de7ecd0294c7037075\",\"dweb:/ipfs/QmUYVQJBWG7ohAYksJRDJKcJVyPMXNFJSPWMAuQcGfWHo7\"]},\"@iexec/interface/contracts/IexecRegistries.sol\":{\"keccak256\":\"0xb39eef47d62d8751c5adfeaf169ce57b50c480788be8356289bc28b78bc24fde\",\"urls\":[\"bzz-raw://a86593f1ef9953ac0965aab4e764374580a899a7f7871ad66b432523171063a1\",\"dweb:/ipfs/QmcYZhHD45APoS1Ebi416DhXU3fiCzoFW2WSMux4AxhFqk\"]},\"@iexec/interface/contracts/libs/IexecODBLibCore.sol\":{\"keccak256\":\"0x3fc7ff4152e9a8f9747d42e262c15c3d460d409732711d9e1da8a88163880183\",\"urls\":[\"bzz-raw://8bacc98b866852e9f1e3563948381cba142ab61d6b1a7c62fbc53b7d57aa0589\",\"dweb:/ipfs/QmUNjhjBxdtHQFWQ61CgnPoaAzL767tQSKF6x34VFWeRyF\"]},\"@iexec/interface/contracts/libs/IexecODBLibOrders.sol\":{\"keccak256\":\"0xe2848a685785b09dc9ee5a6e6329a417eaf18e520388e8575d45a5376b1d62ca\",\"urls\":[\"bzz-raw://d1385ab26f382baa7aadb80faed54290296be09eeccbee1193a1b8a53b0b15d5\",\"dweb:/ipfs/QmUQTFcGX5VZiYwHKu9Yjc4PHNrMgdAyKwKi6tFEMsbaJk\"]},\"@iexec/solidity/contracts/ENStools/ENSReverseRegistration.sol\":{\"keccak256\":\"0xf3f46b28b19d9132ae78c2a43263c06a73cb042ce25175b732e0c1a41c5bbe5a\",\"urls\":[\"bzz-raw://7ca85a78f3f3eafbef6d72c5cd0c35e5b827c797af786cd170659499a0a2c3be\",\"dweb:/ipfs/QmbHZ8zFsiE1PRh7FKt1pt5jR8F6B8HiZ32Mgc8Py3qCUu\"]},\"@iexec/solidity/contracts/ERC1271/IERC1271.sol\":{\"keccak256\":\"0x5aacf5aa4d2f95e60146bc396f5ca94df0f224c1361bef93488e587bcefad1b3\",\"urls\":[\"bzz-raw://bcd2ab979ce9ebba488df57671a2e7cf8b169ba55a58503930bbf876ece99639\",\"dweb:/ipfs/QmYTS8gpAAWBPQ2Eazw9Ro74PmQGFwjaa3T6uAn5XCktQG\"]},\"@iexec/solidity/contracts/ERC1538/ERC1538Module.sol\":{\"keccak256\":\"0xb1e1ff5fcce00614303b0bb01c595a7d2f3496ae88bc2068e56ba9cd72ec8921\",\"urls\":[\"bzz-raw://a6b87d03a17727ce6fe6c5b0078a198898153ae8230345468479a9aa4560835d\",\"dweb:/ipfs/QmV4T7Wg8TS3uAVhnqMhqD6yZ7Qv8iouYnYrkTSCJirG2P\"]},\"@iexec/solidity/contracts/ERC1538/ERC1538Store.sol\":{\"keccak256\":\"0x4d1e8821dc216013f20044bbf82df3c2ab2c739d1b2ce4d90c15cb65f85707d8\",\"urls\":[\"bzz-raw://e36d4db70862f87b8657c19330f0d45e8e7018ebcf3df97525638c8caa919d2b\",\"dweb:/ipfs/QmZqsrXPsyRkRkjuupKG2SYsyUTBXqe7nkkCy7RKxDKz1L\"]},\"@iexec/solidity/contracts/ERC1654/IERC1654.sol\":{\"keccak256\":\"0x7898850b7046bdfa2abccfe5c1dfc431cbb95c2814e5074cabeb462a32486fa6\",\"urls\":[\"bzz-raw://24fd636386fcd52ce7d0037806c56dd1227dffb8cb28fd29cd7eb39153176dd4\",\"dweb:/ipfs/QmNvwBKUJa8AaMKYmxrny2wRSENgiztbvRHPrbYR5yjKZK\"]},\"@iexec/solidity/contracts/ERC734/IERC734.sol\":{\"keccak256\":\"0x8c90e6571af80f3ccb1e04469cef3a5ac6d7ee02f61c8643bdceb5b8a141da62\",\"urls\":[\"bzz-raw://2402fc97239c6fd515910d4a6c367cabd24abcdc1c54c3090e64cdbaa9deb948\",\"dweb:/ipfs/Qma7jLg9bqkT8QeftRHgftGMZvSjqmsSoQZmWLhnwc2shy\"]},\"@iexec/solidity/contracts/Libs/SafeMathExtended.sol\":{\"keccak256\":\"0xf2802ae591eb22954d9c8e02658ae7577940890aff8d8927a7255e254fed605b\",\"urls\":[\"bzz-raw://8dcc485d21a3aa3f643768d4ac4fc69697b9b37f8fb779f3998ab4cee143fa66\",\"dweb:/ipfs/QmWdwgKPMoWuidYQp6WFsJBhNbJUwFHNE9YPYQZhBsKj7e\"]},\"@iexec/solidity/contracts/Upgradeability/BaseUpgradeabilityProxy.sol\":{\"keccak256\":\"0x47ec56a1226ecf04d49aa82f768814923c1957b69f7fc9e7e470885c75b5a2c6\",\"urls\":[\"bzz-raw://4eae82be03a247a27a2948ed12d5a826dea977f4b5528830c19d9cf4c23dcd53\",\"dweb:/ipfs/Qmb9HtnohAMvjb7vYnXaT3AnQd9p9sLsThnyLnXVzz1umq\"]},\"@iexec/solidity/contracts/Upgradeability/InitializableUpgradeabilityProxy.sol\":{\"keccak256\":\"0xe1bf07e5d913bd04484305a3fb0cc576f6b5d8e4fc0406bf7c9a8b6b2ed766e5\",\"urls\":[\"bzz-raw://b42f6dff696ceadeb44a02aae3049e603984c18af8d94f33fb6544a8b279179c\",\"dweb:/ipfs/QmRWTaRHCGZhKZFKrVAJwXukXiCZcezrVhJJ28H2qBbai7\"]},\"@iexec/solidity/contracts/Upgradeability/Proxy.sol\":{\"keccak256\":\"0xd89f285d80cfeff0efc87f11dbc024a587da3bba142a06695cbac7e4050e9302\",\"urls\":[\"bzz-raw://9c8323ec7efc9fde6c1529f1070c3f3406adb5f8836b17221530d8f0110fe3f4\",\"dweb:/ipfs/QmURRsX9L2gZ83aMULtY1EuRMJExHhFYErCbkxE5CNkAzE\"]},\"@openzeppelin/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0de74dfa6b37943c1b834cbd8fb7a8d052e5ff80c7adb33692102dd6cd2985e9\",\"urls\":[\"bzz-raw://9d2d827fcf4a838f5821732c0acd6a40d21c2a5a2cfe2563feec91465f47bb60\",\"dweb:/ipfs/Qmex3wMKf5Sghbfvr288RUg1kP2uAyTMf11w83WbMbpQQc\"]},\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0x9a8c691b81a4a48adbbd5b010faa56a168c189e711495c16347d93b60b805f82\",\"urls\":[\"bzz-raw://d951d626ed7bfe1a2d7a6bd4af315ff8691929bd567594d6ab53599fe9e17e4e\",\"dweb:/ipfs/QmYkGeowpa6Bjr9aaDirWdDo7hSfShzzZhanKC4nTfRhLj\"]},\"@openzeppelin/contracts/introspection/ERC165.sol\":{\"keccak256\":\"0x98aa1380fd49a255d6cbea58558ea76bff35c59b218671fde8842907b44e7390\",\"urls\":[\"bzz-raw://613eaff66d4c270ddd87448c06267b6e043ef8c8223cb39d8767bc9daa9cb1ec\",\"dweb:/ipfs/Qmcg56orudv25ghmnZCxN37HwNKCXmTTDxj5cyoYYnvHTg\"]},\"@openzeppelin/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0x9175561c374ec1fc33045e5dfdde2057e63e00debf432875f9e1e3395d99c149\",\"urls\":[\"bzz-raw://b0167043c1938b56904deaa481a73041aa4a9e054c60db0b0dfbebfe7869c06a\",\"dweb:/ipfs/QmUoYjhymBr6WUpExKgRvKxXD5fcdpQEe1o9ResKZu6CC5\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x04d34b3cd5677bea25f8dfceb6dec0eaa071d4d4b789a43f13fe0c415ba4c296\",\"urls\":[\"bzz-raw://e7e8b526a6839e5ba14f0d23a830387fec47f7043ce01d42c9f285b709a9d080\",\"dweb:/ipfs/QmXmhhFmX5gcAvVzNiDPAGA35iHMPNaYtQkACswRHBVTNw\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x6cc1cb934a3ac2137a7dcaed018af9e235392236ceecfd3687259702b9c767ad\",\"urls\":[\"bzz-raw://0055fa88138cd1c3c6440370f8580f85857f8fe9dec41c99af9eafbeb8d9c3ce\",\"dweb:/ipfs/QmX1xDh8vwGLLCH8ti45eXjQ7Wcxv1FEGTR3jkFnd5Nv6F\"]},\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x67a43d3926e72576c96ebf0e6360c979a8cc04f25e4b0ca40c221547d8903ba4\",\"urls\":[\"bzz-raw://77c6f48115c491411f0e27f6b70e2e524b1b57c66e74bd7f1974a31a448e2540\",\"dweb:/ipfs/QmPZCizouS9PVJ1dVf8zqTjHyEo5cSa1ZmPCQpk52TgrmV\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x734b5bedb78074a59bca6aff9e5a1801c9c7e9c5314daf32e14857161fb36932\",\"urls\":[\"bzz-raw://4574e71185f6693eb5cdf7a5126fba97caf0ec0366b08290dd361af44b3414d3\",\"dweb:/ipfs/QmTPBh1R3EU973H7h6D1kQ1XBA1oX2QdSHZACyytWUYKsn\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Enumerable.sol\":{\"keccak256\":\"0xf81dbd00ad4a1e4795df72759e33872c2599ea6c060be5898ed5d6fcd8ee9a11\",\"urls\":[\"bzz-raw://44dfcc25314c5ed29bc069c4746f87d98bb30a8dbc1a9bdeb797c2a530b9b9c5\",\"dweb:/ipfs/QmbRc5bKDobjE6zamLUy6Sh5HKd6XtNAsfBJzgZuQB3jpv\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Metadata.sol\":{\"keccak256\":\"0xa17f4147965ceccd9f2017b14fcf8ef142346ec69c7e0424fd5c99f5ffeed8fa\",\"urls\":[\"bzz-raw://25315aea456015e8a2bc2b5badde793d1ae16d67d09df50ecb90a2af13674b92\",\"dweb:/ipfs/QmTujwcp5f1LioDNdRMfsXs2MsCWu2UeijhEg4VnDbzZmk\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x0c25ff00a747f1df6cb5e5c103adb98334df7e9561b0d46079454131c139bff9\",\"urls\":[\"bzz-raw://9417ce94829309329fa0f0dc50089696bc55f9f675c4b2ffcb31f960fe706250\",\"dweb:/ipfs/QmdckiAmnW2uhXK2V2enu7bEbqiMR6hzMD1ytGH43pKLhE\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x5f7da58ee3d9faa9b8999a93d49c8ff978f1afc88ae9bcfc6f9cbb44da011c2b\",\"urls\":[\"bzz-raw://4f089d954b3ecaa26949412fe63e9a184b056562c6c13dd4a0529a5d9a2e685a\",\"dweb:/ipfs/QmVK5iCNAMcEJQxT59bsC5E53JQASDQPU6khHox3d5ZXCn\"]},\"@openzeppelin/contracts/utils/Create2.sol\":{\"keccak256\":\"0x66d1ed2a353be8d2492833a185c53a8f1de8d8fa575a201e9825cf334d79659a\",\"urls\":[\"bzz-raw://a2e9b79e9cf5b398cd29b30df860a6521eefadd9882a346c423afbee5aee606e\",\"dweb:/ipfs/QmUq7gfqR5x1DaMpRKkWwmLMGLPzqUQhqhFEJ2vcgvFraH\"]},\"@openzeppelin/contracts/utils/EnumerableMap.sol\":{\"keccak256\":\"0xfd5cf8319cb84ca04ea407d6fba686d53ad7f5d2bf476f41678f5a751d12a7ea\",\"urls\":[\"bzz-raw://45b75b553c4a9053429609b1c3db481f1728ca00448f01acc4065249bbf87adc\",\"dweb:/ipfs/QmRZH6QM32mJn1GZCAPXUQtBz65H4kk6DsGQbGNo4ZNPy9\"]},\"@openzeppelin/contracts/utils/EnumerableSet.sol\":{\"keccak256\":\"0x7f6401708b61f575b497aa7c8118ca9d70348643c83c26e70d9b643edf1a95c1\",\"urls\":[\"bzz-raw://b020d65f592c1715bc3d5799ad835cd975ef7d314f340f27603fb99ad86a0427\",\"dweb:/ipfs/QmQoGZmzE5aDTMGJM4BW77eraerfTSV9Rs8wykpQ42i1in\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xd1d78b1c8534fbcf8fdc8fbfec9133df142ef8cae9ae820929dfe6d80d2c790a\",\"urls\":[\"bzz-raw://193a827fbe83fa83c4cabb172dc438dd45c50253858a1f2bf56e8f9a2d548386\",\"dweb:/ipfs/QmbWBHwHv7CyHSZY6jxnaDiHWGEEyVb8LeGdRpWXUjaiBr\"]},\"solstruct/contracts/libs/LibMap2.bytes4.address.bytes.sol\":{\"keccak256\":\"0x471645d4b20cc36606122fc6bb692cdf8489118547f90bde2740cb73b1e64d54\",\"urls\":[\"bzz-raw://7ca824c03cd077e6d9630eaa4755787c785a61f612cb8e3ba13d0ce92ee55738\",\"dweb:/ipfs/QmdavtXDokZ7vWZt8pMxPi7DaG3Hd1Q5MyeJjXGRFQuL9r\"]},\"solstruct/contracts/libs/LibSet.bytes4.sol\":{\"keccak256\":\"0xdec5833ab65ae8cab500b84424dde49c1f7817c6575e1631a729fc88c6d4bd7f\",\"urls\":[\"bzz-raw://2e5d23b8383819e6dd77ea61ed30740bcba45b0fff609922b11d1cae2b0223f1\",\"dweb:/ipfs/QmQ27sefXEYXBUSEGdPkuzCqemtUJzNXhhsyd7kB94w6CE\"]}},\"version\":1}",
  "bytecode": "0x60806040526000620000196001600160e01b036200006b16565b600080546001600160a01b0319166001600160a01b03831690811782556040519293509160008051602062001a0c833981519152908290a350620000656001600160e01b036200006f16565b62000129565b3390565b620000826001600160e01b036200006b16565b6000546001600160a01b03908116911614620000bb5760405162461bcd60e51b8152600401620000b290620000f4565b60405180910390fd5b600080546040516001600160a01b039091169060008051602062001a0c833981519152908390a3600080546001600160a01b0319169055565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6118d380620001396000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80638da5cb5b1161005b5780638da5cb5b146100b25780638dd971d5146100d0578063b2b07e66146100e3578063f2fde38b146100f65761007d565b80634b74710614610082578063715018a6146100975780637e34a0771461009f575b600080fd5b610095610090366004611019565b610109565b005b61009561039f565b6100956100ad366004611210565b61041e565b6100ba61062e565b6040516100c7919061160e565b60405180910390f35b6100956100de36600461104c565b61063d565b6100956100f1366004611019565b6107da565b610095610104366004610fa1565b6109ea565b60008160000151600001516001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561014c57600080fd5b505afa158015610160573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101849190610fbd565b905061018e610aa0565b6001600160a01b0316816001600160a01b0316148061024b57506040516308231d7360e31b815261024b9082906102419073__IexecLibOrders_v5_____________________90634118eb98906101e990889060040161179d565b60206040518083038186803b15801561020157600080fd5b505af4158015610215573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102399190610fd9565b601054610aa4565b8460400151610ad1565b6102705760405162461bcd60e51b81526004016102679061172f565b60405180910390fd5b81516040516308d9777160e11b81526000916102af9173__IexecLibOrders_v5_____________________916311b2eee2916101e991906004016117b0565b805160209091012090506000836020015160018111156102cb57fe5b1415610335576000818152601160205260409081902080546001600160a01b0319166001600160a01b038516179055517f79ce85909be2c590a728d1634ce6ec8a7cbf815260bacc05387890a313da813090610328908390611622565b60405180910390a161039a565b60018360200151600181111561034757fe5b141561039a5782516040908101516000838152601260205282902055517fcf52e3228bc482a6656d8ab56c09888b1c5bf6aaadba0185e96a34836f2bb1d490610391908390611622565b60405180910390a15b505050565b6103a7610aa0565b6000546001600160a01b039081169116146103d45760405162461bcd60e51b8152600401610267906116fa565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60008160000151600001516001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561046157600080fd5b505afa158015610475573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104999190610fbd565b90506104a3610aa0565b6001600160a01b0316816001600160a01b031614806104fe5750604051632daacfb560e11b81526104fe9082906102419073__IexecLibOrders_v5_____________________90635b559f6a906101e9908890600401611825565b61051a5760405162461bcd60e51b81526004016102679061172f565b8151604051637f6cc2ff60e11b81526000916105599173__IexecLibOrders_v5_____________________9163fed985fe916101e99190600401611841565b8051602090910120905060008360200151600181111561057557fe5b14156105d2576000818152601160205260409081902080546001600160a01b0319166001600160a01b038516179055517f3a61aabf2ab04790d082ff1e332853b2f66944c2e951a146121f80272812a47690610328908390611622565b6001836020015160018111156105e457fe5b141561039a5782516040908101516000838152601260205282902055517f145ad51e4496173bca15e24e7eb46f9ab3a10eea0497e2801a3a6806c06113a390610391908390611622565b6000546001600160a01b031690565b805160c0015161064b610aa0565b6001600160a01b0316816001600160a01b031614806106a657506040516320aabe5360e01b81526106a69082906102419073__IexecLibOrders_v5_____________________906320aabe53906101e99088906004016117c3565b6106c25760405162461bcd60e51b81526004016102679061172f565b8151604051638ac03f3360e01b81526000916107019173__IexecLibOrders_v5_____________________91638ac03f33916101e99190600401611812565b8051602090910120905060008360200151600181111561071d57fe5b141561077a576000818152601160205260409081902080546001600160a01b0319166001600160a01b038516179055517f3b0ac04165536d6b11d04220f998c840bd6e439d59c5d8721bba8a4e1fb9ebfd90610328908390611622565b60018360200151600181111561078c57fe5b141561039a57825160e001516000828152601260205260409081902091909155517f582f43f2a741cbe708aae3b8d38a4efc3d09d7e81919697b3ca693f4c444cc0590610391908390611622565b60008160000151600001516001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561081d57600080fd5b505afa158015610831573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108559190610fbd565b905061085f610aa0565b6001600160a01b0316816001600160a01b031614806108ba5750604051636cf30b8b60e01b81526108ba9082906102419073__IexecLibOrders_v5_____________________90636cf30b8b906101e990889060040161179d565b6108d65760405162461bcd60e51b81526004016102679061172f565b8151604051637c0d54d360e01b81526000916109159173__IexecLibOrders_v5_____________________91637c0d54d3916101e991906004016117b0565b8051602090910120905060008360200151600181111561093157fe5b141561098e576000818152601160205260409081902080546001600160a01b0319166001600160a01b038516179055517f50933cf5a9c44d5ed66b895deb27212aa33d811b46a7b41093e047e213c0bcab90610328908390611622565b6001836020015160018111156109a057fe5b141561039a5782516040908101516000838152601260205282902055517f7343f75be43aba524f85326508cd975d016ef7884676377366c69a7c32e3066890610391908390611622565b6109f2610aa0565b6000546001600160a01b03908116911614610a1f5760405162461bcd60e51b8152600401610267906116fa565b6001600160a01b038116610a455760405162461bcd60e51b815260040161026790611687565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b60608183604051602001610ab99291906115f3565b60405160208183030381529060405290505b92915050565b6000610adc84610cb2565b15610c83576040516320c13b0b60e01b81526001600160a01b038516906320c13b0b90610b0f9086908690600401611662565b60206040518083038186803b158015610b2757600080fd5b505afa925050508015610b57575060408051601f3d908101601f19168201909252610b5491810190610ff1565b60015b610b91573d808015610b85576040519150601f19603f3d011682016040523d82523d6000602084013e610b8a565b606091505b5050610bab565b6001600160e01b0319166320c13b0b60e01b149050610cab565b82516020840120604051630b135d3f60e11b81526001600160a01b03861691631626ba7e91610bdf9190869060040161162b565b60206040518083038186803b158015610bf757600080fd5b505afa925050508015610c27575060408051601f3d908101601f19168201909252610c2491810190610ff1565b60015b610c61573d808015610c55576040519150601f19603f3d011682016040523d82523d6000602084013e610c5a565b606091505b5050610c7b565b6001600160e01b031916630b135d3f60e11b149050610cab565b506000610cab565b836001600160a01b0316610c9e848051906020012084610cee565b6001600160a01b03161490505b9392505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590610ce657508115155b949350505050565b600080600080845160411415610d185750505060208201516040830151606084015160001a610d5d565b845160401415610d4557505050602082015160408301516001600160ff1b0381169060001a60071c610d5d565b60405162461bcd60e51b815260040161026790611766565b601b8160ff161015610d6d57601b015b8060ff16601b1480610d8257508060ff16601c145b610d9e5760405162461bcd60e51b8152600401610267906116cd565b60018682858560405160008152602001604052604051610dc19493929190611644565b6020604051602081039080840390855afa158015610de3573d6000803e3d6000fd5b5050604051601f190151979650505050505050565b8035610acb81611888565b600082601f830112610e13578081fd5b813567ffffffffffffffff811115610e29578182fd5b610e3c601f8201601f1916602001611854565b9150808252836020828501011115610e5357600080fd5b8060208401602084013760009082016020015292915050565b803560028110610acb57600080fd5b600060608284031215610e8c578081fd5b610e966060611854565b9050813567ffffffffffffffff80821115610eb057600080fd5b610120918401808603831315610ec557600080fd5b610ece83611854565b610ed88783610df8565b8152602082013560208201526040820135604082015260608201356060820152610f058760808401610df8565b6080820152610f178760a08401610df8565b60a0820152610f298760c08401610df8565b60c082015260e082013560e082015261010093508382013583811115610f4e57600080fd5b610f5a88828501610e03565b8286015250845250610f6f8560208601610e6c565b60208401526040840135915080821115610f8857600080fd5b50610f9584828501610e03565b60408301525092915050565b600060208284031215610fb2578081fd5b8135610cab81611888565b600060208284031215610fce578081fd5b8151610cab81611888565b600060208284031215610fea578081fd5b5051919050565b600060208284031215611002578081fd5b81516001600160e01b031981168114610cab578182fd5b60006020828403121561102a578081fd5b813567ffffffffffffffff811115611040578182fd5b610ce684828501610e7b565b60006020828403121561105d578081fd5b813567ffffffffffffffff80821115611074578283fd5b81840160608187031215611086578384fd5b6110906060611854565b92508035828111156110a0578485fd5b6102009082018088038213156110b4578586fd5b6110bd82611854565b6110c78983610df8565b8152602082013560208201526110e08960408401610df8565b6040820152606082013560608201526110fc8960808401610df8565b608082015260a082013560a08201526111188960c08401610df8565b60c082015260e08281013590820152610100808301359082015261012080830135908201526101408083013590820152610160925061115989848401610df8565b83820152610180925061116e89848401610df8565b838201526101a092508282013585811115611187578788fd5b6111938a828501610e03565b84830152506101c0925082820135838201526101e0925082820135858111156111ba578788fd5b6111c68a828501610e03565b84830152508086525050506111de8660208301610e6c565b60208401526040810135828111156111f4578485fd5b61120087828401610e03565b6040850152509195945050505050565b600060208284031215611221578081fd5b813567ffffffffffffffff80821115611238578283fd5b8184016060818703121561124a578384fd5b6112546060611854565b9250803582811115611264578485fd5b610160908201808803821315611278578586fd5b61128182611854565b61128b8983610df8565b81526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a08201526112cc8960c08401610df8565b60c08201526112de8960e08401610df8565b60e082015261010092506112f489848401610df8565b8382015261012092508282013583820152610140925082820135858111156111ba578788fd5b6001600160a01b03169052565b60008151808452815b8181101561134c57602081850181015186830182015201611330565b8181111561135d5782602083870101525b50601f01601f19169290920160200192915050565b600081516060845261138760608501826113c0565b602084015191506002821061139857fe5b8160208601526040840151915084810360408601526113b78183611327565b95945050505050565b600061012060018060a01b0383511684526020830151602085015260408301516040850152606083015160608501526080830151611401608086018261131a565b5060a083015161141460a086018261131a565b5060c083015161142760c086018261131a565b5060e083015160e085015261010080840151828287015261144a83870182611327565b9695505050505050565b600061020061146484845161131a565b602083015160208501526040830151611480604086018261131a565b5060608301516060850152608083015161149d608086018261131a565b5060a083015160a085015260c08301516114ba60c086018261131a565b5060e08381015190850152610100808401519085015261012080840151908501526101408084015190850152610160808401516114f98287018261131a565b50506101808084015161150e8287018261131a565b50506101a080840151828287015261152883870182611327565b9150506101c0915081840151828601526101e09150818401518582038387015261144a8282611327565b600061016061156284845161131a565b6020830151602085015260408301516040850152606083015160608501526080830151608085015260a083015160a085015260c08301516115a660c086018261131a565b5060e08301516115b960e086018261131a565b50610100808401516115cd8287018261131a565b505061012080840151818601525061014080840151828287015261144a83870182611327565b61190160f01b81526002810192909252602282015260420190565b6001600160a01b0391909116815260200190565b90815260200190565b600083825260406020830152610ce66040830184611327565b93845260ff9290921660208401526040830152606082015260800190565b6000604082526116756040830185611327565b82810360208401526113b78185611327565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526013908201527234b73b30b634b216b9b4b3b730ba3ab93296bb60691b604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601b908201527f696e76616c69642d73656e6465722d6f722d7369676e61747572650000000000604082015260600190565b60208082526018908201527f696e76616c69642d7369676e61747572652d666f726d61740000000000000000604082015260600190565b600060208252610cab6020830184611372565b600060208252610cab60208301846113c0565b6000602082528251606060208401526117df6080840182611454565b602085015191506117ef8261187b565b81604085015260408501519150601f198482030160608501526113b78183611327565b600060208252610cab6020830184611454565b6000602082528251606060208401526117df6080840182611552565b600060208252610cab6020830184611552565b60405181810167ffffffffffffffff8111828210171561187357600080fd5b604052919050565b6002811061188557fe5b50565b6001600160a01b038116811461188557600080fdfea2646970667358221220630a7965d3b13336f23c53bd0448838cfec84e910b4466dfd0b31bf4e8ff1a1564736f6c634300060600338be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0",
  "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80638da5cb5b1161005b5780638da5cb5b146100b25780638dd971d5146100d0578063b2b07e66146100e3578063f2fde38b146100f65761007d565b80634b74710614610082578063715018a6146100975780637e34a0771461009f575b600080fd5b610095610090366004611019565b610109565b005b61009561039f565b6100956100ad366004611210565b61041e565b6100ba61062e565b6040516100c7919061160e565b60405180910390f35b6100956100de36600461104c565b61063d565b6100956100f1366004611019565b6107da565b610095610104366004610fa1565b6109ea565b60008160000151600001516001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561014c57600080fd5b505afa158015610160573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101849190610fbd565b905061018e610aa0565b6001600160a01b0316816001600160a01b0316148061024b57506040516308231d7360e31b815261024b9082906102419073__IexecLibOrders_v5_____________________90634118eb98906101e990889060040161179d565b60206040518083038186803b15801561020157600080fd5b505af4158015610215573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102399190610fd9565b601054610aa4565b8460400151610ad1565b6102705760405162461bcd60e51b81526004016102679061172f565b60405180910390fd5b81516040516308d9777160e11b81526000916102af9173__IexecLibOrders_v5_____________________916311b2eee2916101e991906004016117b0565b805160209091012090506000836020015160018111156102cb57fe5b1415610335576000818152601160205260409081902080546001600160a01b0319166001600160a01b038516179055517f79ce85909be2c590a728d1634ce6ec8a7cbf815260bacc05387890a313da813090610328908390611622565b60405180910390a161039a565b60018360200151600181111561034757fe5b141561039a5782516040908101516000838152601260205282902055517fcf52e3228bc482a6656d8ab56c09888b1c5bf6aaadba0185e96a34836f2bb1d490610391908390611622565b60405180910390a15b505050565b6103a7610aa0565b6000546001600160a01b039081169116146103d45760405162461bcd60e51b8152600401610267906116fa565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60008160000151600001516001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561046157600080fd5b505afa158015610475573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104999190610fbd565b90506104a3610aa0565b6001600160a01b0316816001600160a01b031614806104fe5750604051632daacfb560e11b81526104fe9082906102419073__IexecLibOrders_v5_____________________90635b559f6a906101e9908890600401611825565b61051a5760405162461bcd60e51b81526004016102679061172f565b8151604051637f6cc2ff60e11b81526000916105599173__IexecLibOrders_v5_____________________9163fed985fe916101e99190600401611841565b8051602090910120905060008360200151600181111561057557fe5b14156105d2576000818152601160205260409081902080546001600160a01b0319166001600160a01b038516179055517f3a61aabf2ab04790d082ff1e332853b2f66944c2e951a146121f80272812a47690610328908390611622565b6001836020015160018111156105e457fe5b141561039a5782516040908101516000838152601260205282902055517f145ad51e4496173bca15e24e7eb46f9ab3a10eea0497e2801a3a6806c06113a390610391908390611622565b6000546001600160a01b031690565b805160c0015161064b610aa0565b6001600160a01b0316816001600160a01b031614806106a657506040516320aabe5360e01b81526106a69082906102419073__IexecLibOrders_v5_____________________906320aabe53906101e99088906004016117c3565b6106c25760405162461bcd60e51b81526004016102679061172f565b8151604051638ac03f3360e01b81526000916107019173__IexecLibOrders_v5_____________________91638ac03f33916101e99190600401611812565b8051602090910120905060008360200151600181111561071d57fe5b141561077a576000818152601160205260409081902080546001600160a01b0319166001600160a01b038516179055517f3b0ac04165536d6b11d04220f998c840bd6e439d59c5d8721bba8a4e1fb9ebfd90610328908390611622565b60018360200151600181111561078c57fe5b141561039a57825160e001516000828152601260205260409081902091909155517f582f43f2a741cbe708aae3b8d38a4efc3d09d7e81919697b3ca693f4c444cc0590610391908390611622565b60008160000151600001516001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561081d57600080fd5b505afa158015610831573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108559190610fbd565b905061085f610aa0565b6001600160a01b0316816001600160a01b031614806108ba5750604051636cf30b8b60e01b81526108ba9082906102419073__IexecLibOrders_v5_____________________90636cf30b8b906101e990889060040161179d565b6108d65760405162461bcd60e51b81526004016102679061172f565b8151604051637c0d54d360e01b81526000916109159173__IexecLibOrders_v5_____________________91637c0d54d3916101e991906004016117b0565b8051602090910120905060008360200151600181111561093157fe5b141561098e576000818152601160205260409081902080546001600160a01b0319166001600160a01b038516179055517f50933cf5a9c44d5ed66b895deb27212aa33d811b46a7b41093e047e213c0bcab90610328908390611622565b6001836020015160018111156109a057fe5b141561039a5782516040908101516000838152601260205282902055517f7343f75be43aba524f85326508cd975d016ef7884676377366c69a7c32e3066890610391908390611622565b6109f2610aa0565b6000546001600160a01b03908116911614610a1f5760405162461bcd60e51b8152600401610267906116fa565b6001600160a01b038116610a455760405162461bcd60e51b815260040161026790611687565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b60608183604051602001610ab99291906115f3565b60405160208183030381529060405290505b92915050565b6000610adc84610cb2565b15610c83576040516320c13b0b60e01b81526001600160a01b038516906320c13b0b90610b0f9086908690600401611662565b60206040518083038186803b158015610b2757600080fd5b505afa925050508015610b57575060408051601f3d908101601f19168201909252610b5491810190610ff1565b60015b610b91573d808015610b85576040519150601f19603f3d011682016040523d82523d6000602084013e610b8a565b606091505b5050610bab565b6001600160e01b0319166320c13b0b60e01b149050610cab565b82516020840120604051630b135d3f60e11b81526001600160a01b03861691631626ba7e91610bdf9190869060040161162b565b60206040518083038186803b158015610bf757600080fd5b505afa925050508015610c27575060408051601f3d908101601f19168201909252610c2491810190610ff1565b60015b610c61573d808015610c55576040519150601f19603f3d011682016040523d82523d6000602084013e610c5a565b606091505b5050610c7b565b6001600160e01b031916630b135d3f60e11b149050610cab565b506000610cab565b836001600160a01b0316610c9e848051906020012084610cee565b6001600160a01b03161490505b9392505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590610ce657508115155b949350505050565b600080600080845160411415610d185750505060208201516040830151606084015160001a610d5d565b845160401415610d4557505050602082015160408301516001600160ff1b0381169060001a60071c610d5d565b60405162461bcd60e51b815260040161026790611766565b601b8160ff161015610d6d57601b015b8060ff16601b1480610d8257508060ff16601c145b610d9e5760405162461bcd60e51b8152600401610267906116cd565b60018682858560405160008152602001604052604051610dc19493929190611644565b6020604051602081039080840390855afa158015610de3573d6000803e3d6000fd5b5050604051601f190151979650505050505050565b8035610acb81611888565b600082601f830112610e13578081fd5b813567ffffffffffffffff811115610e29578182fd5b610e3c601f8201601f1916602001611854565b9150808252836020828501011115610e5357600080fd5b8060208401602084013760009082016020015292915050565b803560028110610acb57600080fd5b600060608284031215610e8c578081fd5b610e966060611854565b9050813567ffffffffffffffff80821115610eb057600080fd5b610120918401808603831315610ec557600080fd5b610ece83611854565b610ed88783610df8565b8152602082013560208201526040820135604082015260608201356060820152610f058760808401610df8565b6080820152610f178760a08401610df8565b60a0820152610f298760c08401610df8565b60c082015260e082013560e082015261010093508382013583811115610f4e57600080fd5b610f5a88828501610e03565b8286015250845250610f6f8560208601610e6c565b60208401526040840135915080821115610f8857600080fd5b50610f9584828501610e03565b60408301525092915050565b600060208284031215610fb2578081fd5b8135610cab81611888565b600060208284031215610fce578081fd5b8151610cab81611888565b600060208284031215610fea578081fd5b5051919050565b600060208284031215611002578081fd5b81516001600160e01b031981168114610cab578182fd5b60006020828403121561102a578081fd5b813567ffffffffffffffff811115611040578182fd5b610ce684828501610e7b565b60006020828403121561105d578081fd5b813567ffffffffffffffff80821115611074578283fd5b81840160608187031215611086578384fd5b6110906060611854565b92508035828111156110a0578485fd5b6102009082018088038213156110b4578586fd5b6110bd82611854565b6110c78983610df8565b8152602082013560208201526110e08960408401610df8565b6040820152606082013560608201526110fc8960808401610df8565b608082015260a082013560a08201526111188960c08401610df8565b60c082015260e08281013590820152610100808301359082015261012080830135908201526101408083013590820152610160925061115989848401610df8565b83820152610180925061116e89848401610df8565b838201526101a092508282013585811115611187578788fd5b6111938a828501610e03565b84830152506101c0925082820135838201526101e0925082820135858111156111ba578788fd5b6111c68a828501610e03565b84830152508086525050506111de8660208301610e6c565b60208401526040810135828111156111f4578485fd5b61120087828401610e03565b6040850152509195945050505050565b600060208284031215611221578081fd5b813567ffffffffffffffff80821115611238578283fd5b8184016060818703121561124a578384fd5b6112546060611854565b9250803582811115611264578485fd5b610160908201808803821315611278578586fd5b61128182611854565b61128b8983610df8565b81526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a08201526112cc8960c08401610df8565b60c08201526112de8960e08401610df8565b60e082015261010092506112f489848401610df8565b8382015261012092508282013583820152610140925082820135858111156111ba578788fd5b6001600160a01b03169052565b60008151808452815b8181101561134c57602081850181015186830182015201611330565b8181111561135d5782602083870101525b50601f01601f19169290920160200192915050565b600081516060845261138760608501826113c0565b602084015191506002821061139857fe5b8160208601526040840151915084810360408601526113b78183611327565b95945050505050565b600061012060018060a01b0383511684526020830151602085015260408301516040850152606083015160608501526080830151611401608086018261131a565b5060a083015161141460a086018261131a565b5060c083015161142760c086018261131a565b5060e083015160e085015261010080840151828287015261144a83870182611327565b9695505050505050565b600061020061146484845161131a565b602083015160208501526040830151611480604086018261131a565b5060608301516060850152608083015161149d608086018261131a565b5060a083015160a085015260c08301516114ba60c086018261131a565b5060e08381015190850152610100808401519085015261012080840151908501526101408084015190850152610160808401516114f98287018261131a565b50506101808084015161150e8287018261131a565b50506101a080840151828287015261152883870182611327565b9150506101c0915081840151828601526101e09150818401518582038387015261144a8282611327565b600061016061156284845161131a565b6020830151602085015260408301516040850152606083015160608501526080830151608085015260a083015160a085015260c08301516115a660c086018261131a565b5060e08301516115b960e086018261131a565b50610100808401516115cd8287018261131a565b505061012080840151818601525061014080840151828287015261144a83870182611327565b61190160f01b81526002810192909252602282015260420190565b6001600160a01b0391909116815260200190565b90815260200190565b600083825260406020830152610ce66040830184611327565b93845260ff9290921660208401526040830152606082015260800190565b6000604082526116756040830185611327565b82810360208401526113b78185611327565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526013908201527234b73b30b634b216b9b4b3b730ba3ab93296bb60691b604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601b908201527f696e76616c69642d73656e6465722d6f722d7369676e61747572650000000000604082015260600190565b60208082526018908201527f696e76616c69642d7369676e61747572652d666f726d61740000000000000000604082015260600190565b600060208252610cab6020830184611372565b600060208252610cab60208301846113c0565b6000602082528251606060208401526117df6080840182611454565b602085015191506117ef8261187b565b81604085015260408501519150601f198482030160608501526113b78183611327565b600060208252610cab6020830184611454565b6000602082528251606060208401526117df6080840182611552565b600060208252610cab6020830184611552565b60405181810167ffffffffffffffff8111828210171561187357600080fd5b604052919050565b6002811061188557fe5b50565b6001600160a01b038116811461188557600080fdfea2646970667358221220630a7965d3b13336f23c53bd0448838cfec84e910b4466dfd0b31bf4e8ff1a1564736f6c63430006060033",
  "immutableReferences": {},
  "sourceMap": "174:4457:18:-:0;;;832:17:66;852:12;-1:-1:-1;;;;;852:10:66;:12;:::i;:::-;874:6;:18;;-1:-1:-1;;;;;;874:18:66;-1:-1:-1;;;;;874:18:66;;;;;;;907:43;;874:18;;-1:-1:-1;874:18:66;-1:-1:-1;;;;;;;;;;;907:43:66;874:6;;907:43;-1:-1:-1;124:19:57;-1:-1:-1;;;;;124:17:57;:19;:::i;:::-;174:4457:18;;735:104:65;822:10;735:104;:::o;1656:145:66:-;1247:12;-1:-1:-1;;;;;1247:10:66;:12;:::i;:::-;1237:6;;-1:-1:-1;;;;;1237:6:66;;;:22;;;1229:67;;;;-1:-1:-1;;;1229:67:66;;;;;;;;;;;;;;;;;1762:1:::1;1746:6:::0;;1725:40:::1;::::0;-1:-1:-1;;;;;1746:6:66;;::::1;::::0;-1:-1:-1;;;;;;;;;;;1725:40:66;1762:1;;1725:40:::1;1792:1;1775:19:::0;;-1:-1:-1;;;;;;1775:19:66::1;::::0;;1656:145::o;346:407:-1:-;537:2;551:47;;;522:18;;;864:19;266:34;904:14;;;246:55;320:12;;;508:245;;174:4457:18;;;;;;",
  "deployedSourceMap": "174:4457:18:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;174:4457:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;1863:906:18;;;;;;;;;:::i;:::-;;1656:145:66;;;:::i;2772:963:18:-;;;;;;;;;:::i;1033:77:66:-;;;:::i;:::-;;;;;;;;;;;;;;;;3738:891:18;;;;;;;;;:::i;1030:830::-;;;;;;;;;:::i;1950:240:66:-;;;;;;;;;:::i;1863:906:18:-;1984:13;2008:22;:28;;;:36;;;-1:-1:-1;;;;;2000:51:18;;:53;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2000:53:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2000:53:18;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;2000:53:18;;;;;;;;;1984:69;;2074:12;:10;:12::i;:::-;-1:-1:-1;;;;;2065:21:18;:5;-1:-1:-1;;;;;2065:21:18;;:150;;;-1:-1:-1;2131:29:18;;-1:-1:-1;;;2131:29:18;;2090:125;;2106:5;;2113:72;;2131:27;;;;:29;;:22;;:29;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2131:29:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2131:29:18;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;2131:29:18;;;;;;;;;2162:22;;2113:17;:72::i;:::-;2187:22;:27;;;2090:15;:125::i;:::-;2057:190;;;;-1:-1:-1;;;2057:190:18;;;;;;;;;;;;;;;;;2307:28;;:35;;-1:-1:-1;;;2307:35:18;;2252:24;;2289:78;;2307:33;;;;:35;;:28;:35;;;;2289:78;2279:89;;;;;;;;-1:-1:-1;2412:41:18;2376:22;:32;;;:77;;;;;;;;;2372:394;;;2462:29;;;;:11;:29;;;;;;;:37;;-1:-1:-1;;;;;;2462:37:18;-1:-1:-1;;;;;2462:37:18;;;;;2509:36;;;;;2462:29;;2509:36;;;;;;;;;;2372:394;;;2598:42;2562:22;:32;;;:78;;;;;;;;;2558:208;;;2680:28;;:35;;;;;:28;2649;;;:10;:28;;;;;:66;2725:36;;;;;2660:16;;2725:36;;;;;;;;;;2558:208;1863:906;;;:::o;1656:145:66:-;1247:12;:10;:12::i;:::-;1237:6;;-1:-1:-1;;;;;1237:6:66;;;:22;;;1229:67;;;;-1:-1:-1;;;1229:67:66;;;;;;;;;1762:1:::1;1746:6:::0;;1725:40:::1;::::0;-1:-1:-1;;;;;1746:6:66;;::::1;::::0;1725:40:::1;::::0;1762:1;;1725:40:::1;1792:1;1775:19:::0;;-1:-1:-1;;;;;;1775:19:66::1;::::0;;1656:145::o;2772:963:18:-;2902:13;2929:25;:31;;;:42;;;-1:-1:-1;;;;;2918:60:18;;:62;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2918:62:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2918:62:18;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;2918:62:18;;;;;;;;;2902:78;;3001:12;:10;:12::i;:::-;-1:-1:-1;;;;;2992:21:18;:5;-1:-1:-1;;;;;2992:21:18;;:156;;;-1:-1:-1;3058:32:18;;-1:-1:-1;;;3058:32:18;;3017:131;;3033:5;;3040:75;;3058:30;;;;:32;;:25;;:32;;;;3017:131;2984:196;;;;-1:-1:-1;;;2984:196:18;;;;;;;;;3243:31;;:38;;-1:-1:-1;;;3243:38:18;;3185:27;;3225:81;;3243:36;;;;:38;;:31;:38;;;;3225:81;3215:92;;;;;;;;-1:-1:-1;3354:41:18;3315:25;:35;;;:80;;;;;;;;;3311:421;;;3404:32;;;;:11;:32;;;;;;;:40;;-1:-1:-1;;;;;;3404:40:18;-1:-1:-1;;;;;3404:40:18;;;;;3454:42;;;;;3404:32;;3454:42;;3311:421;3552:42;3513:25;:35;;;:81;;;;;;;;;3509:223;;;3637:31;;:38;;;;;:31;3603;;;:10;:31;;;;;:72;3685:42;;;;;3614:19;;3685:42;;1033:77:66;1071:7;1097:6;-1:-1:-1;;;;;1097:6:66;1033:77;:::o;3738:891:18:-;3875:28;;:38;;;3934:12;:10;:12::i;:::-;-1:-1:-1;;;;;3925:21:18;:5;-1:-1:-1;;;;;3925:21:18;;:150;;;-1:-1:-1;3991:29:18;;-1:-1:-1;;;3991:29:18;;3950:125;;3966:5;;3973:72;;3991:27;;;;:29;;:22;;:29;;;;3950:125;3917:190;;;;-1:-1:-1;;;3917:190:18;;;;;;;;;4167:28;;:35;;-1:-1:-1;;;4167:35:18;;4112:24;;4149:78;;4167:33;;;;:35;;:28;:35;;;;4149:78;4139:89;;;;;;;;-1:-1:-1;4272:41:18;4236:22;:32;;;:77;;;;;;;;;4232:394;;;4322:29;;;;:11;:29;;;;;;;:37;;-1:-1:-1;;;;;;4322:37:18;-1:-1:-1;;;;;4322:37:18;;;;;4369:36;;;;;4322:29;;4369:36;;4232:394;4458:42;4422:22;:32;;;:78;;;;;;;;;4418:208;;;4540:28;;:35;;;:28;4509;;;:10;:28;;;;;;;:66;;;;4585:36;;;;;4520:16;;4585:36;;1030:830;1139:13;1159:18;:24;;;:28;;;-1:-1:-1;;;;;1155:39:18;;:41;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1155:41:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1155:41:18;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;1155:41:18;;;;;;;;;1139:57;;1217:12;:10;:12::i;:::-;-1:-1:-1;;;;;1208:21:18;:5;-1:-1:-1;;;;;1208:21:18;;:142;;;-1:-1:-1;1274:25:18;;-1:-1:-1;;;1274:25:18;;1233:117;;1249:5;;1256:68;;1274:23;;;;:25;;:18;;:25;;;;1233:117;1200:182;;;;-1:-1:-1;;;1200:182:18;;;;;;;;;1438:24;;:31;;-1:-1:-1;;;1438:31:18;;1387:20;;1420:74;;1438:29;;;;:31;;:24;:31;;;;1420:74;1410:85;;;;;;;;-1:-1:-1;1535:41:18;1503:18;:28;;;:73;;;;;;;;;1499:358;;;1585:25;;;;:11;:25;;;;;;;:33;;-1:-1:-1;;;;;;1585:33:18;-1:-1:-1;;;;;1585:33:18;;;;;1628:28;;;;;1585:25;;1628:28;;1499:358;1705:42;1673:18;:28;;;:74;;;;;;;;;1669:188;;;1783:24;;:31;;;;;:24;1756;;;:10;:24;;;;;:58;1824:28;;;;;1767:12;;1824:28;;1950:240:66;1247:12;:10;:12::i;:::-;1237:6;;-1:-1:-1;;;;;1237:6:66;;;:22;;;1229:67;;;;-1:-1:-1;;;1229:67:66;;;;;;;;;-1:-1:-1;;;;;2038:22:66;::::1;2030:73;;;;-1:-1:-1::0;;;2030:73:66::1;;;;;;;;;2139:6;::::0;;2118:38:::1;::::0;-1:-1:-1;;;;;2118:38:66;;::::1;::::0;2139:6;::::1;::::0;2118:38:::1;::::0;::::1;2166:6;:17:::0;;-1:-1:-1;;;;;;2166:17:66::1;-1:-1:-1::0;;;;;2166:17:66;;;::::1;::::0;;;::::1;::::0;;1950:240::o;735:104:65:-;822:10;735:104;:::o;538:177:21:-;631:12;686:11;699;657:54;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;657:54:21;;;650:61;;538:177;;;;;:::o;3363:684::-;3480:4;3495:22;3507:9;3495:11;:22::i;:::-;3491:553;;;3530:59;;-1:-1:-1;;;3530:59:21;;-1:-1:-1;;;;;3530:36:21;;;;;:59;;3567:9;;3578:10;;3530:59;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;3530:59:21;;;;;;;;;;;-1:-1:-1;3530:59:21;;;101:4:-1;3530:59:21;80:15:-1;;;-1:-1;;76:31;65:43;;113:20;;;3530:59:21;;;;;;;;;;3526:199;;;;14:27:-1;;;;67:4;61:11;56:16;;134:4;130:9;123:4;105:16;101:27;97:43;94:1;90:51;84:4;77:65;157:16;154:1;147:27;211:16;208:1;201:4;198:1;194:12;179:49;5:228;;14:27;32:4;27:9;;5:228;;3685:40:21;3526:199;;;-1:-1:-1;;;;;;3629:46:21;-1:-1:-1;;;3629:46:21;;-1:-1:-1;3622:53:21;;3526:199;3771:20;;;;;;3734:70;;-1:-1:-1;;;3734:70:21;;-1:-1:-1;;;;;3734:36:21;;;;;:70;;3771:20;3793:10;;3734:70;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;3734:70:21;;;;;;;;;;;-1:-1:-1;3734:70:21;;;101:4:-1;3734:70:21;80:15:-1;;;-1:-1;;76:31;65:43;;113:20;;;3734:70:21;;;;;;;;;;3730:210;;;;14:27:-1;;;;67:4;61:11;56:16;;134:4;130:9;123:4;105:16;101:27;97:43;94:1;90:51;84:4;77:65;157:16;154:1;147:27;211:16;208:1;201:4;198:1;194:12;179:49;5:228;;14:27;32:4;27:9;;5:228;;3900:40:21;3730:210;;;-1:-1:-1;;;;;;3844:46:21;-1:-1:-1;;;3844:46:21;;-1:-1:-1;3837:53:21;;3730:210;-1:-1:-1;3952:5:21;3945:12;;3491:553;4030:9;-1:-1:-1;;;;;3984:55:21;:42;4003:9;3993:20;;;;;;4015:10;3984:8;:42::i;:::-;-1:-1:-1;;;;;3984:55:21;;3977:62;;3491:553;3363:684;;;;;:::o;1715:562::-;1777:4;2197:20;;2054:66;2230:23;;;;;;:42;;-1:-1:-1;2257:15:21;;;2230:42;2222:51;1715:562;-1:-1:-1;;;;1715:562:21:o;825:820::-;902:7;916:9;929;942;960:5;:12;976:2;960:18;956:572;;;-1:-1:-1;;;1060:4:21;1049:16;;1043:23;1101:4;1090:16;;1084:23;1142:4;1131:16;;1125:23;1122:1;1117:32;1024:130;;;1170:5;:12;1186:2;1170:18;1166:362;;;-1:-1:-1;;;1292:4:21;1281:16;;1275:23;1340:4;1329:16;;1323:23;-1:-1:-1;;;;;1308:107:21;;;1437:1;1432:32;1429:1;1425:40;1249:221;;;1489:34;;-1:-1:-1;;;1489:34:21;;;;;;;;1166:362;1540:2;1536:1;:6;;;1532:19;;;1549:2;1544:7;1532:19;1563:1;:7;;1568:2;1563:7;:18;;;;1574:1;:7;;1579:2;1574:7;1563:18;1555:50;;;;-1:-1:-1;;;1555:50:21;;;;;;;;;1616:25;1626:5;1633:1;1636;1639;1616:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;1616:25:21;;-1:-1:-1;;1616:25:21;;;825:820;-1:-1:-1;;;;;;;825:820:21:o;5:130:-1:-;72:20;;97:33;72:20;97:33;;701:440;;802:3;795:4;787:6;783:17;779:27;769:2;;-1:-1;;810:12;769:2;857:6;844:20;51332:18;51324:6;51321:30;51318:2;;;-1:-1;;51354:12;51318:2;879:64;51427:9;51408:17;;-1:-1;;51404:33;51495:4;51485:15;879:64;;;870:73;;963:6;956:5;949:21;1067:3;51495:4;1058:6;991;1049:16;;1046:25;1043:2;;;1084:1;;1074:12;1043:2;53958:6;51495:4;991:6;987:17;51495:4;1025:5;1021:16;53935:30;54014:1;53996:16;;;51495:4;53996:16;53989:27;1025:5;762:379;-1:-1;;762:379;1149:174;1238:20;;55074:1;55064:12;;55054:2;;55090:1;;55080:12;1830:854;;1953:4;1941:9;1936:3;1932:19;1928:30;1925:2;;;-1:-1;;1961:12;1925:2;1989:20;1953:4;1989:20;;;1980:29;;2073:17;2060:31;2111:18;;2103:6;2100:30;2097:2;;;2088:1;;2133:12;2097:2;2845:6;;2224:22;;2824:19;;;2820:32;-1:-1;2817:2;;;-1:-1;;2855:12;2817:2;2883:22;2845:6;2883:22;;;2986:49;3031:3;3007:22;2986:49;;;2968:16;2961:75;3101:2;3159:9;3155:22;13700:20;3101:2;3120:5;3116:16;3109:75;3247:2;3305:9;3301:22;13700:20;3247:2;3266:5;3262:16;3255:75;1953:4;3448:9;3444:22;350:20;1953:4;3409:5;3405:16;3398:75;3579:49;3624:3;3545;3604:9;3600:22;3579:49;;;3545:3;3565:5;3561:16;3554:75;3738:49;3783:3;3704;3763:9;3759:22;3738:49;;;3704:3;3724:5;3720:16;3713:75;3896:49;3941:3;3862;3921:9;3917:22;3896:49;;;3862:3;3882:5;3878:16;3871:75;4007:3;4066:9;4062:22;350:20;4007:3;4027:5;4023:16;4016:75;4180:3;;;;4169:9;4165:19;4152:33;2111:18;4197:6;4194:30;4191:2;;;-1:-1;;4227:12;4191:2;4274:58;4328:3;4319:6;4308:9;4304:22;4274:58;;;4254:18;;;4247:86;-1:-1;2153:100;;-1:-1;2352:71;2419:3;3101:2;2395:22;;2352:71;;;3101:2;2338:5;2334:16;2327:97;3247:2;2502:9;2498:18;2485:32;2471:46;;2111:18;2529:6;2526:30;2523:2;;;-1:-1;;2559:12;2523:2;;2604:58;2658:3;2649:6;2638:9;2634:22;2604:58;;;3247:2;2590:5;2586:16;2579:84;;1919:765;;;;;13770:241;;13874:2;13862:9;13853:7;13849:23;13845:32;13842:2;;;-1:-1;;13880:12;13842:2;85:6;72:20;97:33;124:5;97:33;;14018:263;;14133:2;14121:9;14112:7;14108:23;14104:32;14101:2;;;-1:-1;;14139:12;14101:2;226:6;220:13;238:33;265:5;238:33;;14288:263;;14403:2;14391:9;14382:7;14378:23;14374:32;14371:2;;;-1:-1;;14409:12;14371:2;-1:-1;498:13;;14365:186;-1:-1;14365:186;14558:261;;14672:2;14660:9;14651:7;14647:23;14643:32;14640:2;;;-1:-1;;14678:12;14640:2;638:13;;-1:-1;;;;;;53177:78;;54919:34;;54909:2;;-1:-1;;54957:12;14826:395;;14964:2;14952:9;14943:7;14939:23;14935:32;14932:2;;;-1:-1;;14970:12;14932:2;15028:17;15015:31;15066:18;15058:6;15055:30;15052:2;;;-1:-1;;15088:12;15052:2;15118:87;15197:7;15188:6;15177:9;15173:22;15118:87;;15638:403;;15780:2;15768:9;15759:7;15755:23;15751:32;15748:2;;;-1:-1;;15786:12;15748:2;15844:17;15831:31;15882:18;;15874:6;15871:30;15868:2;;;-1:-1;;15904:12;15868:2;16008:6;15997:9;15993:22;7145:4;7133:9;7128:3;7124:19;7120:30;7117:2;;;-1:-1;;7153:12;7117:2;7181:20;7145:4;7181:20;;;7172:29;;7265:17;7252:31;15882:18;7295:6;7292:30;7289:2;;;-1:-1;;7325:12;7289:2;8049:6;;7420:22;;8028:19;;;8024:32;-1:-1;8021:2;;;-1:-1;;8059:12;8021:2;8087:22;8049:6;8087:22;;;8190:49;8235:3;8211:22;8190:49;;;8172:16;8165:75;15780:2;8366:9;8362:22;13700:20;15780:2;8327:5;8323:16;8316:75;8488:49;8533:3;8455:2;8513:9;8509:22;8488:49;;;8455:2;8474:5;8470:16;8463:75;7145:4;8668:9;8664:22;13700:20;7145:4;8629:5;8625:16;8618:75;8794:49;8839:3;8760;8819:9;8815:22;8794:49;;;8760:3;8780:5;8776:16;8769:75;8919:3;8978:9;8974:22;13700:20;8919:3;8939:5;8935:16;8928:75;9103:49;9148:3;9069;9128:9;9124:22;9103:49;;;9069:3;9085:16;;9078:75;9216:3;9271:22;;;13700:20;9232:16;;;9225:75;9360:3;9417:22;;;350:20;9376:18;;;9369:77;9511:3;9568:22;;;13700:20;9527:18;;;9520:77;9659:3;9716:22;;;13700:20;9675:18;;;9668:77;9813:3;;-1:-1;9849:49;9894:3;9870:22;;;9849:49;;;9813:3;9833:5;9829:18;9822:77;9964:3;;;10000:49;10045:3;9964;10025:9;10021:22;10000:49;;;9964:3;9984:5;9980:18;9973:77;10141:3;;;;10130:9;10126:19;10113:33;15882:18;10158:6;10155:30;10152:2;;;-1:-1;;10188:12;10152:2;10235:59;10290:3;10281:6;10270:9;10266:22;10235:59;;;10141:3;10219:5;10215:18;10208:87;;10356:3;;;;10417:9;10413:22;350:20;10356:3;10376:5;10372:18;10365:77;10531:3;;;;10520:9;10516:19;10503:33;15882:18;10548:6;10545:30;10542:2;;;-1:-1;;10578:12;10542:2;10625:58;10679:3;10670:6;10659:9;10655:22;10625:58;;;10531:3;10609:5;10605:18;10598:86;;7370:78;7352:16;7345:104;;;;7548:71;7615:3;15780:2;7595:9;7591:22;7548:71;;;15780:2;7534:5;7530:16;7523:97;8455:2;7698:9;7694:18;7681:32;15882:18;7725:6;7722:30;7719:2;;;-1:-1;;7755:12;7719:2;7800:58;7854:3;7845:6;7834:9;7830:22;7800:58;;;8455:2;7782:16;;7775:84;-1:-1;7786:5;;15742:299;-1:-1;;;;;15742:299;16048:409;;16193:2;16181:9;16172:7;16168:23;16164:32;16161:2;;;-1:-1;;16199:12;16161:2;16257:17;16244:31;16295:18;;16287:6;16284:30;16281:2;;;-1:-1;;16317:12;16281:2;16424:6;16413:9;16409:22;10898:4;10886:9;10881:3;10877:19;10873:30;10870:2;;;-1:-1;;10906:12;10870:2;10934:20;10898:4;10934:20;;;10925:29;;11018:17;11005:31;16295:18;11048:6;11045:30;11042:2;;;-1:-1;;11078:12;11042:2;11811:6;;11176:22;;11790:19;;;11786:32;-1:-1;11783:2;;;-1:-1;;11821:12;11783:2;11849:22;11811:6;11849:22;;;11959:49;12004:3;11980:22;11959:49;;;11941:16;11934:75;16193:2;12139:9;12135:22;13700:20;16193:2;12100:5;12096:16;12089:75;12227:2;12285:9;12281:22;13700:20;12227:2;12246:5;12242:16;12235:75;10898:4;12428:9;12424:22;350:20;10898:4;12389:5;12385:16;12378:75;12518:3;12577:9;12573:22;13700:20;12518:3;12538:5;12534:16;12527:75;12664:3;12723:9;12719:22;13700:20;12664:3;12684:5;12680:16;12673:75;12850:49;12895:3;12816;12875:9;12871:22;12850:49;;;12816:3;12836:5;12832:16;12825:75;13006:49;13051:3;12972;13031:9;13027:22;13006:49;;;12972:3;12992:5;12988:16;12981:75;13130:3;;;13166:49;13211:3;13130;13191:9;13187:22;13166:49;;;13130:3;13150:5;13146:18;13139:77;13277:3;;;;13338:9;13334:22;350:20;13277:3;13297:5;13293:18;13286:77;13452:3;;;;13441:9;13437:19;13424:33;16295:18;13469:6;13466:30;13463:2;;;-1:-1;;13499:12;16464:113;-1:-1;;;;;53486:54;16535:37;;16529:48;17099:343;;17241:5;51933:12;52218:6;52213:3;52206:19;-1:-1;54103:101;54117:6;54114:1;54111:13;54103:101;;;52255:4;54184:11;;;;;54178:18;54165:11;;;;;54158:39;54132:10;54103:101;;;54219:6;54216:1;54213:13;54210:2;;;-1:-1;52255:4;54275:6;52250:3;54266:16;;54259:27;54210:2;-1:-1;51427:9;54456:14;-1:-1;;54452:28;17398:39;;;;52255:4;17398:39;;17189:253;-1:-1;;17189:253;20540:905;;20790:16;20784:23;20717:4;20827:14;20820:38;20873:111;20717:4;20712:3;20708:14;20965:12;20873:111;;;21074:4;21067:5;21063:16;21057:23;21037:43;;54584:1;54577:5;54574:12;54564:2;;54590:9;54564:2;53818:46;21074:4;21166:3;21162:14;17884:70;21256:4;21249:5;21245:16;21239:23;21219:43;;21308:3;21302:4;21298:14;21256:4;21286:3;21282:14;21275:38;21328:79;21402:4;21388:12;21328:79;;;21429:11;20690:755;-1:-1;;;;;20690:755;21529:1775;;21688:6;51332:18;;53497:42;;;21761:16;21755:23;53486:54;16542:3;16535:37;21938:4;21931:5;21927:16;21921:23;21938:4;22010:3;22006:14;16773:37;22102:4;22095:5;22091:16;22085:23;22102:4;22174:3;22170:14;16773:37;22263:4;22256:5;22252:16;22246:23;22263:4;22335:3;22331:14;16773:37;22436:4;22429:5;22425:16;22419:23;22448:71;22436:4;22508:3;22504:14;22490:12;22448:71;;;;22612:4;22605:5;22601:16;22595:23;22624:71;22612:4;22684:3;22680:14;22666:12;22624:71;;;;22787:4;22780:5;22776:16;22770:23;22799:71;22787:4;22859:3;22855:14;22841:12;22799:71;;;;22949:4;22942:5;22938:16;22932:23;22949:4;23021:3;23017:14;16773:37;23111:6;;23104:5;23100:18;23094:25;21688:6;23111;23143:3;23139:16;23132:40;23187:79;21688:6;21683:3;21679:16;23247:12;23187:79;;;23288:11;21661:1643;-1:-1;;;;;;21661:1643;31055:3043;;31222:6;31318:71;31374:14;31295:16;31289:23;31318:71;;;31475:4;31468:5;31464:16;31458:23;31475:4;31547:3;31543:14;16773:37;31640:4;31633:5;31629:16;31623:23;31652:71;31640:4;31712:3;31708:14;31694:12;31652:71;;;;31813:4;31806:5;31802:16;31796:23;31813:4;31885:3;31881:14;16773:37;31981:4;31974:5;31970:16;31964:23;31993:71;31981:4;32053:3;32049:14;32035:12;31993:71;;;;32157:4;32150:5;32146:16;32140:23;32157:4;32229:3;32225:14;16773:37;32324:4;32317:5;32313:16;32307:23;32336:71;32324:4;32396:3;32392:14;32378:12;32336:71;;;-1:-1;32488:4;32477:16;;;32471:23;32556:14;;;16773:37;32649:6;32638:18;;;32632:25;32719:16;;;16773:37;32819:6;32808:18;;;32802:25;32889:16;;;16773:37;32986:6;32975:18;;;32969:25;33056:16;;;16773:37;33159:6;33148:18;;;33142:25;33173:73;33229:16;;;33142:25;33173:73;;;;;33329:6;;33322:5;33318:18;33312:25;33343:73;33329:6;33403:3;33399:16;33385:12;33343:73;;;;;33497:6;;33490:5;33486:18;33480:25;31222:6;33497;33529:3;33525:16;33518:40;33573:81;31222:6;31217:3;31213:16;33635:12;33573:81;;;33565:89;;;33739:6;;;;33732:5;33728:18;33722:25;33739:6;33813:3;33809:16;16773:37;33905:6;;;;33898:5;33894:18;33888:25;33961:3;33955:4;33951:14;33905:6;33937:3;33933:16;33926:40;33981:79;34055:4;34041:12;33981:79;;38370:2133;;38543:6;38646:71;38702:14;38623:16;38617:23;38646:71;;;38807:4;38800:5;38796:16;38790:23;38807:4;38879:3;38875:14;16773:37;38971:4;38964:5;38960:16;38954:23;38971:4;39043:3;39039:14;16773:37;39132:4;39125:5;39121:16;39115:23;39132:4;39204:3;39200:14;16773:37;39298:4;39291:5;39287:16;39281:23;39298:4;39370:3;39366:14;16773:37;39461:4;39454:5;39450:16;39444:23;39461:4;39533:3;39529:14;16773:37;39630:4;39623:5;39619:16;39613:23;39642:71;39630:4;39702:3;39698:14;39684:12;39642:71;;;;39803:4;39796:5;39792:16;39786:23;39815:71;39803:4;39875:3;39871:14;39857:12;39815:71;;;;39978:6;;39971:5;39967:18;39961:25;39992:73;39978:6;40052:3;40048:16;40034:12;39992:73;;;;;40144:6;;40137:5;40133:18;40127:25;40144:6;40218:3;40214:16;16773:37;;40310:6;;40303:5;40299:18;40293:25;38543:6;40310;40342:3;40338:16;40331:40;40386:79;38543:6;38538:3;38534:16;40446:12;40386:79;;42963:650;-1:-1;;;18976:87;;18961:1;19082:11;;16773:37;;;;43465:12;;;16773:37;43576:12;;;43199:414;43620:213;-1:-1;;;;;53486:54;;;;16535:37;;43738:2;43723:18;;43709:124;43840:213;16773:37;;;43958:2;43943:18;;43929:124;44060:408;;16803:5;16780:3;16773:37;44224:2;44342;44331:9;44327:18;44320:48;44382:76;44224:2;44213:9;44209:18;44444:6;44382:76;;44475:539;16773:37;;;53702:4;53691:16;;;;44834:2;44819:18;;42916:35;44917:2;44902:18;;16773:37;45000:2;44985:18;;16773:37;44673:3;44658:19;;44644:370;45021:492;;45203:2;45224:17;45217:47;45278:76;45203:2;45192:9;45188:18;45340:6;45278:76;;;45402:9;45396:4;45392:20;45387:2;45376:9;45372:18;45365:48;45427:76;45498:4;45489:6;45427:76;;45520:407;45711:2;45725:47;;;18541:2;45696:18;;;52206:19;18577:34;52246:14;;;18557:55;-1:-1;;;18632:12;;;18625:30;18674:12;;;45682:245;45934:407;46125:2;46139:47;;;19332:2;46110:18;;;52206:19;-1:-1;;;52246:14;;;19348:42;19409:12;;;46096:245;46348:407;46539:2;46553:47;;;46524:18;;;52206:19;19696:34;52246:14;;;19676:55;19750:12;;;46510:245;46762:407;46953:2;46967:47;;;20001:2;46938:18;;;52206:19;20037:29;52246:14;;;20017:50;20086:12;;;46924:245;47176:407;47367:2;47381:47;;;20337:2;47352:18;;;52206:19;20373:26;52246:14;;;20353:47;20419:12;;;47338:245;47590:413;;47784:2;47805:17;47798:47;47859:134;47784:2;47773:9;47769:18;47979:6;47859:134;;48010:377;;48186:2;48207:17;48200:47;48261:116;48186:2;48175:9;48171:18;48363:6;48261:116;;49230:429;;49432:2;49453:17;49446:47;30300:16;30294:23;30227:4;49432:2;49421:9;49417:18;30330:38;30383:119;30218:14;49421:9;30218:14;30483:12;30383:119;;;49432:2;30585:5;30581:16;30575:23;30555:43;;53357:55;53406:5;53357:55;;;53818:46;30680:14;49421:9;30680:14;17884:70;30680:14;30767:5;30763:16;30757:23;30737:43;;51427:9;;49421;30820:4;30816:14;;30227:4;49421:9;30800:14;30793:38;30846:79;30920:4;30906:12;30846:79;;49666:393;;49850:2;49871:17;49864:47;49925:124;49850:2;49839:9;49835:18;50035:6;49925:124;;50066:441;;50274:2;50295:17;50288:47;37603:16;37597:23;37530:4;50274:2;50263:9;50259:18;37633:38;37686:125;37521:14;50263:9;37521:14;37792:12;37686:125;;50514:405;;50704:2;50725:17;50718:47;50779:130;50704:2;50693:9;50689:18;50895:6;50779:130;;50926:256;50988:2;50982:9;51014:17;;;51089:18;51074:34;;51110:22;;;51071:62;51068:2;;;51146:1;;51136:12;51068:2;50988;51155:22;50966:216;;-1:-1;50966:216;54493:113;54584:1;54577:5;54574:12;54564:2;;54590:9;54564:2;54558:48;;54613:117;-1:-1;;;;;53486:54;;54672:35;;54662:2;;54721:1;;54711:12",
  "source": "pragma solidity ^0.6.0;\npragma experimental ABIEncoderV2;\n\nimport \"./SignatureVerifier.sol\";\nimport \"../DelegateBase.sol\";\nimport \"../interfaces/IexecOrderManagement.sol\";\n\n\ncontract IexecOrderManagementDelegate is IexecOrderManagement, DelegateBase, SignatureVerifier\n{\n\tusing IexecLibOrders_v5 for IexecLibOrders_v5.AppOrder;\n\tusing IexecLibOrders_v5 for IexecLibOrders_v5.DatasetOrder;\n\tusing IexecLibOrders_v5 for IexecLibOrders_v5.WorkerpoolOrder;\n\tusing IexecLibOrders_v5 for IexecLibOrders_v5.RequestOrder;\n\tusing IexecLibOrders_v5 for IexecLibOrders_v5.AppOrderOperation;\n\tusing IexecLibOrders_v5 for IexecLibOrders_v5.DatasetOrderOperation;\n\tusing IexecLibOrders_v5 for IexecLibOrders_v5.WorkerpoolOrderOperation;\n\tusing IexecLibOrders_v5 for IexecLibOrders_v5.RequestOrderOperation;\n\n\t/***************************************************************************\n\t *                         order management tools                          *\n\t ***************************************************************************/\n\tfunction manageAppOrder(IexecLibOrders_v5.AppOrderOperation memory _apporderoperation)\n\tpublic override\n\t{\n\t\taddress owner = App(_apporderoperation.order.app).owner();\n\t\trequire(owner == _msgSender() || _checkSignature(owner, _toEthTypedStruct(_apporderoperation.hash(), EIP712DOMAIN_SEPARATOR), _apporderoperation.sign), 'invalid-sender-or-signature');\n\n\t\tbytes32 apporderHash = keccak256(_toEthTypedStruct(_apporderoperation.order.hash(), EIP712DOMAIN_SEPARATOR));\n\t\tif (_apporderoperation.operation == IexecLibOrders_v5.OrderOperationEnum.SIGN)\n\t\t{\n\t\t\tm_presigned[apporderHash] = owner;\n\t\t\temit SignedAppOrder(apporderHash);\n\t\t}\n\t\telse if (_apporderoperation.operation == IexecLibOrders_v5.OrderOperationEnum.CLOSE)\n\t\t{\n\t\t\tm_consumed[apporderHash] = _apporderoperation.order.volume;\n\t\t\temit ClosedAppOrder(apporderHash);\n\t\t}\n\t}\n\n\tfunction manageDatasetOrder(IexecLibOrders_v5.DatasetOrderOperation memory _datasetorderoperation)\n\tpublic override\n\t{\n\t\taddress owner = Dataset(_datasetorderoperation.order.dataset).owner();\n\t\trequire(owner == _msgSender() || _checkSignature(owner, _toEthTypedStruct(_datasetorderoperation.hash(), EIP712DOMAIN_SEPARATOR), _datasetorderoperation.sign), 'invalid-sender-or-signature');\n\n\t\tbytes32 datasetorderHash = keccak256(_toEthTypedStruct(_datasetorderoperation.order.hash(), EIP712DOMAIN_SEPARATOR));\n\t\tif (_datasetorderoperation.operation == IexecLibOrders_v5.OrderOperationEnum.SIGN)\n\t\t{\n\t\t\tm_presigned[datasetorderHash] = owner;\n\t\t\temit SignedDatasetOrder(datasetorderHash);\n\t\t}\n\t\telse if (_datasetorderoperation.operation == IexecLibOrders_v5.OrderOperationEnum.CLOSE)\n\t\t{\n\t\t\tm_consumed[datasetorderHash] = _datasetorderoperation.order.volume;\n\t\t\temit ClosedDatasetOrder(datasetorderHash);\n\t\t}\n\t}\n\n\tfunction manageWorkerpoolOrder(IexecLibOrders_v5.WorkerpoolOrderOperation memory _workerpoolorderoperation)\n\tpublic override\n\t{\n\t\taddress owner = Workerpool(_workerpoolorderoperation.order.workerpool).owner();\n\t\trequire(owner == _msgSender() || _checkSignature(owner, _toEthTypedStruct(_workerpoolorderoperation.hash(), EIP712DOMAIN_SEPARATOR), _workerpoolorderoperation.sign), 'invalid-sender-or-signature');\n\n\t\tbytes32 workerpoolorderHash = keccak256(_toEthTypedStruct(_workerpoolorderoperation.order.hash(), EIP712DOMAIN_SEPARATOR));\n\t\tif (_workerpoolorderoperation.operation == IexecLibOrders_v5.OrderOperationEnum.SIGN)\n\t\t{\n\t\t\tm_presigned[workerpoolorderHash] = owner;\n\t\t\temit SignedWorkerpoolOrder(workerpoolorderHash);\n\t\t}\n\t\telse if (_workerpoolorderoperation.operation == IexecLibOrders_v5.OrderOperationEnum.CLOSE)\n\t\t{\n\t\t\tm_consumed[workerpoolorderHash] = _workerpoolorderoperation.order.volume;\n\t\t\temit ClosedWorkerpoolOrder(workerpoolorderHash);\n\t\t}\n\t}\n\n\tfunction manageRequestOrder(IexecLibOrders_v5.RequestOrderOperation memory _requestorderoperation)\n\tpublic override\n\t{\n\t\taddress owner = _requestorderoperation.order.requester;\n\t\trequire(owner == _msgSender() || _checkSignature(owner, _toEthTypedStruct(_requestorderoperation.hash(), EIP712DOMAIN_SEPARATOR), _requestorderoperation.sign), 'invalid-sender-or-signature');\n\n\t\tbytes32 requestorderHash = keccak256(_toEthTypedStruct(_requestorderoperation.order.hash(), EIP712DOMAIN_SEPARATOR));\n\t\tif (_requestorderoperation.operation == IexecLibOrders_v5.OrderOperationEnum.SIGN)\n\t\t{\n\t\t\tm_presigned[requestorderHash] = owner;\n\t\t\temit SignedRequestOrder(requestorderHash);\n\t\t}\n\t\telse if (_requestorderoperation.operation == IexecLibOrders_v5.OrderOperationEnum.CLOSE)\n\t\t{\n\t\t\tm_consumed[requestorderHash] = _requestorderoperation.order.volume;\n\t\t\temit ClosedRequestOrder(requestorderHash);\n\t\t}\n\t}\n}\n",
  "sourcePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/modules/delegates/IexecOrderManagementDelegate.sol",
  "ast": {
    "absolutePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/modules/delegates/IexecOrderManagementDelegate.sol",
    "exportedSymbols": {
      "IexecOrderManagementDelegate": [
        3150
      ]
    },
    "id": 3151,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 2770,
        "literals": [
          "solidity",
          "^",
          "0.6",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:23:18"
      },
      {
        "id": 2771,
        "literals": [
          "experimental",
          "ABIEncoderV2"
        ],
        "nodeType": "PragmaDirective",
        "src": "24:33:18"
      },
      {
        "absolutePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/modules/delegates/SignatureVerifier.sol",
        "file": "./SignatureVerifier.sol",
        "id": 2772,
        "nodeType": "ImportDirective",
        "scope": 3151,
        "sourceUnit": 6807,
        "src": "59:33:18",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/modules/DelegateBase.sol",
        "file": "../DelegateBase.sol",
        "id": 2773,
        "nodeType": "ImportDirective",
        "scope": 3151,
        "sourceUnit": 845,
        "src": "93:29:18",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/modules/interfaces/IexecOrderManagement.sol",
        "file": "../interfaces/IexecOrderManagement.sol",
        "id": 2774,
        "nodeType": "ImportDirective",
        "scope": 3151,
        "sourceUnit": 7466,
        "src": "123:48:18",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 2775,
              "name": "IexecOrderManagement",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 7465,
              "src": "215:20:18",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IexecOrderManagement_$7465",
                "typeString": "contract IexecOrderManagement"
              }
            },
            "id": 2776,
            "nodeType": "InheritanceSpecifier",
            "src": "215:20:18"
          },
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 2777,
              "name": "DelegateBase",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 844,
              "src": "237:12:18",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_DelegateBase_$844",
                "typeString": "contract DelegateBase"
              }
            },
            "id": 2778,
            "nodeType": "InheritanceSpecifier",
            "src": "237:12:18"
          },
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 2779,
              "name": "SignatureVerifier",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 6806,
              "src": "251:17:18",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_SignatureVerifier_$6806",
                "typeString": "contract SignatureVerifier"
              }
            },
            "id": 2780,
            "nodeType": "InheritanceSpecifier",
            "src": "251:17:18"
          }
        ],
        "contractDependencies": [
          268,
          844,
          6806,
          7465,
          10170,
          10182,
          10752,
          10861
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 3150,
        "linearizedBaseContracts": [
          3150,
          6806,
          844,
          10170,
          268,
          10182,
          10861,
          10752,
          7465
        ],
        "name": "IexecOrderManagementDelegate",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "id": 2783,
            "libraryName": {
              "contractScope": null,
              "id": 2781,
              "name": "IexecLibOrders_v5",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 815,
              "src": "278:17:18",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IexecLibOrders_v5_$815",
                "typeString": "library IexecLibOrders_v5"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "272:55:18",
            "typeName": {
              "contractScope": null,
              "id": 2782,
              "name": "IexecLibOrders_v5.AppOrder",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 441,
              "src": "300:26:18",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_AppOrder_$441_storage_ptr",
                "typeString": "struct IexecLibOrders_v5.AppOrder"
              }
            }
          },
          {
            "id": 2786,
            "libraryName": {
              "contractScope": null,
              "id": 2784,
              "name": "IexecLibOrders_v5",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 815,
              "src": "335:17:18",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IexecLibOrders_v5_$815",
                "typeString": "library IexecLibOrders_v5"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "329:59:18",
            "typeName": {
              "contractScope": null,
              "id": 2785,
              "name": "IexecLibOrders_v5.DatasetOrder",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 460,
              "src": "357:30:18",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_DatasetOrder_$460_storage_ptr",
                "typeString": "struct IexecLibOrders_v5.DatasetOrder"
              }
            }
          },
          {
            "id": 2789,
            "libraryName": {
              "contractScope": null,
              "id": 2787,
              "name": "IexecLibOrders_v5",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 815,
              "src": "396:17:18",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IexecLibOrders_v5_$815",
                "typeString": "library IexecLibOrders_v5"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "390:62:18",
            "typeName": {
              "contractScope": null,
              "id": 2788,
              "name": "IexecLibOrders_v5.WorkerpoolOrder",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 483,
              "src": "418:33:18",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_storage_ptr",
                "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder"
              }
            }
          },
          {
            "id": 2792,
            "libraryName": {
              "contractScope": null,
              "id": 2790,
              "name": "IexecLibOrders_v5",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 815,
              "src": "460:17:18",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IexecLibOrders_v5_$815",
                "typeString": "library IexecLibOrders_v5"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "454:59:18",
            "typeName": {
              "contractScope": null,
              "id": 2791,
              "name": "IexecLibOrders_v5.RequestOrder",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 516,
              "src": "482:30:18",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_RequestOrder_$516_storage_ptr",
                "typeString": "struct IexecLibOrders_v5.RequestOrder"
              }
            }
          },
          {
            "id": 2795,
            "libraryName": {
              "contractScope": null,
              "id": 2793,
              "name": "IexecLibOrders_v5",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 815,
              "src": "521:17:18",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IexecLibOrders_v5_$815",
                "typeString": "library IexecLibOrders_v5"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "515:64:18",
            "typeName": {
              "contractScope": null,
              "id": 2794,
              "name": "IexecLibOrders_v5.AppOrderOperation",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 523,
              "src": "543:35:18",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_AppOrderOperation_$523_storage_ptr",
                "typeString": "struct IexecLibOrders_v5.AppOrderOperation"
              }
            }
          },
          {
            "id": 2798,
            "libraryName": {
              "contractScope": null,
              "id": 2796,
              "name": "IexecLibOrders_v5",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 815,
              "src": "587:17:18",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IexecLibOrders_v5_$815",
                "typeString": "library IexecLibOrders_v5"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "581:68:18",
            "typeName": {
              "contractScope": null,
              "id": 2797,
              "name": "IexecLibOrders_v5.DatasetOrderOperation",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 530,
              "src": "609:39:18",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_DatasetOrderOperation_$530_storage_ptr",
                "typeString": "struct IexecLibOrders_v5.DatasetOrderOperation"
              }
            }
          },
          {
            "id": 2801,
            "libraryName": {
              "contractScope": null,
              "id": 2799,
              "name": "IexecLibOrders_v5",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 815,
              "src": "657:17:18",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IexecLibOrders_v5_$815",
                "typeString": "library IexecLibOrders_v5"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "651:71:18",
            "typeName": {
              "contractScope": null,
              "id": 2800,
              "name": "IexecLibOrders_v5.WorkerpoolOrderOperation",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 537,
              "src": "679:42:18",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_WorkerpoolOrderOperation_$537_storage_ptr",
                "typeString": "struct IexecLibOrders_v5.WorkerpoolOrderOperation"
              }
            }
          },
          {
            "id": 2804,
            "libraryName": {
              "contractScope": null,
              "id": 2802,
              "name": "IexecLibOrders_v5",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 815,
              "src": "730:17:18",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IexecLibOrders_v5_$815",
                "typeString": "library IexecLibOrders_v5"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "724:68:18",
            "typeName": {
              "contractScope": null,
              "id": 2803,
              "name": "IexecLibOrders_v5.RequestOrderOperation",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 544,
              "src": "752:39:18",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_RequestOrderOperation_$544_storage_ptr",
                "typeString": "struct IexecLibOrders_v5.RequestOrderOperation"
              }
            }
          },
          {
            "baseFunctions": [
              7449
            ],
            "body": {
              "id": 2891,
              "nodeType": "Block",
              "src": "1135:725:18",
              "statements": [
                {
                  "assignments": [
                    2812
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2812,
                      "mutability": "mutable",
                      "name": "owner",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 2891,
                      "src": "1139:13:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 2811,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "1139:7:18",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2820,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 2814,
                                "name": "_apporderoperation",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2807,
                                "src": "1159:18:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_AppOrderOperation_$523_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.AppOrderOperation memory"
                                }
                              },
                              "id": 2815,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "order",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 518,
                              "src": "1159:24:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_AppOrder_$441_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.AppOrder memory"
                              }
                            },
                            "id": 2816,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "app",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 424,
                            "src": "1159:28:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 2813,
                          "name": "App",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8137,
                          "src": "1155:3:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_App_$8137_$",
                            "typeString": "type(contract App)"
                          }
                        },
                        "id": 2817,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1155:33:18",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_App_$8137",
                          "typeString": "contract App"
                        }
                      },
                      "id": 2818,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "owner",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8050,
                      "src": "1155:39:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
                        "typeString": "function () view external returns (address)"
                      }
                    },
                    "id": 2819,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1155:41:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1139:57:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 2837,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 2825,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 2822,
                            "name": "owner",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2812,
                            "src": "1208:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "id": 2823,
                              "name": "_msgSender",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10740,
                              "src": "1217:10:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$",
                                "typeString": "function () view returns (address payable)"
                              }
                            },
                            "id": 2824,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "1217:12:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address_payable",
                              "typeString": "address payable"
                            }
                          },
                          "src": "1208:21:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 2827,
                              "name": "owner",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2812,
                              "src": "1249:5:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "arguments": [],
                                  "expression": {
                                    "argumentTypes": [],
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 2829,
                                      "name": "_apporderoperation",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 2807,
                                      "src": "1274:18:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_AppOrderOperation_$523_memory_ptr",
                                        "typeString": "struct IexecLibOrders_v5.AppOrderOperation memory"
                                      }
                                    },
                                    "id": 2830,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "hash",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 751,
                                    "src": "1274:23:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_delegatecall_pure$_t_struct$_AppOrderOperation_$523_memory_ptr_$returns$_t_bytes32_$bound_to$_t_struct$_AppOrderOperation_$523_memory_ptr_$",
                                      "typeString": "function (struct IexecLibOrders_v5.AppOrderOperation memory) pure returns (bytes32)"
                                    }
                                  },
                                  "id": 2831,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "1274:25:18",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 2832,
                                  "name": "EIP712DOMAIN_SEPARATOR",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 224,
                                  "src": "1301:22:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  },
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                ],
                                "id": 2828,
                                "name": "_toEthTypedStruct",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6463,
                                "src": "1256:17:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes_memory_ptr_$",
                                  "typeString": "function (bytes32,bytes32) pure returns (bytes memory)"
                                }
                              },
                              "id": 2833,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "1256:68:18",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 2834,
                                "name": "_apporderoperation",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2807,
                                "src": "1326:18:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_AppOrderOperation_$523_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.AppOrderOperation memory"
                                }
                              },
                              "id": 2835,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "sign",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 522,
                              "src": "1326:23:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              },
                              {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            ],
                            "id": 2826,
                            "name": "_checkSignature",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              6674,
                              6757
                            ],
                            "referencedDeclaration": 6757,
                            "src": "1233:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$",
                              "typeString": "function (address,bytes memory,bytes memory) view returns (bool)"
                            }
                          },
                          "id": 2836,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1233:117:18",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "1208:142:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "696e76616c69642d73656e6465722d6f722d7369676e6174757265",
                        "id": 2838,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1352:29:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_b1312320dd18618ea815d99e0fdb695b5bd0bad806b784ba92eb100bfe9e717c",
                          "typeString": "literal_string \"invalid-sender-or-signature\""
                        },
                        "value": "invalid-sender-or-signature"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_b1312320dd18618ea815d99e0fdb695b5bd0bad806b784ba92eb100bfe9e717c",
                          "typeString": "literal_string \"invalid-sender-or-signature\""
                        }
                      ],
                      "id": 2821,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "1200:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 2839,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1200:182:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2840,
                  "nodeType": "ExpressionStatement",
                  "src": "1200:182:18"
                },
                {
                  "assignments": [
                    2842
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2842,
                      "mutability": "mutable",
                      "name": "apporderHash",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 2891,
                      "src": "1387:20:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 2841,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "1387:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2852,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "expression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 2845,
                                  "name": "_apporderoperation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2807,
                                  "src": "1438:18:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_AppOrderOperation_$523_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.AppOrderOperation memory"
                                  }
                                },
                                "id": 2846,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "order",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 518,
                                "src": "1438:24:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_AppOrder_$441_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.AppOrder memory"
                                }
                              },
                              "id": 2847,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "hash",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 608,
                              "src": "1438:29:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_delegatecall_pure$_t_struct$_AppOrder_$441_memory_ptr_$returns$_t_bytes32_$bound_to$_t_struct$_AppOrder_$441_memory_ptr_$",
                                "typeString": "function (struct IexecLibOrders_v5.AppOrder memory) pure returns (bytes32)"
                              }
                            },
                            "id": 2848,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "1438:31:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 2849,
                            "name": "EIP712DOMAIN_SEPARATOR",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 224,
                            "src": "1471:22:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "id": 2844,
                          "name": "_toEthTypedStruct",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6463,
                          "src": "1420:17:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function (bytes32,bytes32) pure returns (bytes memory)"
                          }
                        },
                        "id": 2850,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1420:74:18",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 2843,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": -8,
                      "src": "1410:9:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                        "typeString": "function (bytes memory) pure returns (bytes32)"
                      }
                    },
                    "id": 2851,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1410:85:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1387:108:18"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                      "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                    },
                    "id": 2858,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 2853,
                        "name": "_apporderoperation",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2807,
                        "src": "1503:18:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_AppOrderOperation_$523_memory_ptr",
                          "typeString": "struct IexecLibOrders_v5.AppOrderOperation memory"
                        }
                      },
                      "id": 2854,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "operation",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 520,
                      "src": "1503:28:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                        "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 2855,
                          "name": "IexecLibOrders_v5",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 815,
                          "src": "1535:17:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IexecLibOrders_v5_$815_$",
                            "typeString": "type(library IexecLibOrders_v5)"
                          }
                        },
                        "id": 2856,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "OrderOperationEnum",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 413,
                        "src": "1535:36:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_OrderOperationEnum_$413_$",
                          "typeString": "type(enum IexecLibOrders_v5.OrderOperationEnum)"
                        }
                      },
                      "id": 2857,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberName": "SIGN",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "1535:41:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                        "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                      }
                    },
                    "src": "1503:73:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                        "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                      },
                      "id": 2875,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 2870,
                          "name": "_apporderoperation",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2807,
                          "src": "1673:18:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_AppOrderOperation_$523_memory_ptr",
                            "typeString": "struct IexecLibOrders_v5.AppOrderOperation memory"
                          }
                        },
                        "id": 2871,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "operation",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 520,
                        "src": "1673:28:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                          "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 2872,
                            "name": "IexecLibOrders_v5",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 815,
                            "src": "1705:17:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_IexecLibOrders_v5_$815_$",
                              "typeString": "type(library IexecLibOrders_v5)"
                            }
                          },
                          "id": 2873,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "OrderOperationEnum",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 413,
                          "src": "1705:36:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_OrderOperationEnum_$413_$",
                            "typeString": "type(enum IexecLibOrders_v5.OrderOperationEnum)"
                          }
                        },
                        "id": 2874,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberName": "CLOSE",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "1705:42:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                          "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                        }
                      },
                      "src": "1673:74:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": null,
                    "id": 2889,
                    "nodeType": "IfStatement",
                    "src": "1669:188:18",
                    "trueBody": {
                      "id": 2888,
                      "nodeType": "Block",
                      "src": "1751:106:18",
                      "statements": [
                        {
                          "expression": {
                            "argumentTypes": null,
                            "id": 2882,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftHandSide": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 2876,
                                "name": "m_consumed",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 232,
                                "src": "1756:10:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                                  "typeString": "mapping(bytes32 => uint256)"
                                }
                              },
                              "id": 2878,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 2877,
                                "name": "apporderHash",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2842,
                                "src": "1767:12:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "nodeType": "IndexAccess",
                              "src": "1756:24:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "Assignment",
                            "operator": "=",
                            "rightHandSide": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 2879,
                                  "name": "_apporderoperation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2807,
                                  "src": "1783:18:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_AppOrderOperation_$523_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.AppOrderOperation memory"
                                  }
                                },
                                "id": 2880,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "order",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 518,
                                "src": "1783:24:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_AppOrder_$441_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.AppOrder memory"
                                }
                              },
                              "id": 2881,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "volume",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 428,
                              "src": "1783:31:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "1756:58:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 2883,
                          "nodeType": "ExpressionStatement",
                          "src": "1756:58:18"
                        },
                        {
                          "eventCall": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 2885,
                                "name": "apporderHash",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2842,
                                "src": "1839:12:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 2884,
                              "name": "ClosedAppOrder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7432,
                              "src": "1824:14:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$",
                                "typeString": "function (bytes32)"
                              }
                            },
                            "id": 2886,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "1824:28:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$__$",
                              "typeString": "tuple()"
                            }
                          },
                          "id": 2887,
                          "nodeType": "EmitStatement",
                          "src": "1819:33:18"
                        }
                      ]
                    }
                  },
                  "id": 2890,
                  "nodeType": "IfStatement",
                  "src": "1499:358:18",
                  "trueBody": {
                    "id": 2869,
                    "nodeType": "Block",
                    "src": "1580:81:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 2863,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 2859,
                              "name": "m_presigned",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 228,
                              "src": "1585:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$",
                                "typeString": "mapping(bytes32 => address)"
                              }
                            },
                            "id": 2861,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 2860,
                              "name": "apporderHash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2842,
                              "src": "1597:12:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "1585:25:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "id": 2862,
                            "name": "owner",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2812,
                            "src": "1613:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "1585:33:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 2864,
                        "nodeType": "ExpressionStatement",
                        "src": "1585:33:18"
                      },
                      {
                        "eventCall": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 2866,
                              "name": "apporderHash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2842,
                              "src": "1643:12:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 2865,
                            "name": "SignedAppOrder",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7416,
                            "src": "1628:14:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$",
                              "typeString": "function (bytes32)"
                            }
                          },
                          "id": 2867,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1628:28:18",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 2868,
                        "nodeType": "EmitStatement",
                        "src": "1623:33:18"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": {
              "id": 2805,
              "nodeType": "StructuredDocumentation",
              "src": "795:233:18",
              "text": "*************************************************************************\n                        order management tools                          ***************************************************************************"
            },
            "functionSelector": "b2b07e66",
            "id": 2892,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "manageAppOrder",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 2809,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "1125:8:18"
            },
            "parameters": {
              "id": 2808,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2807,
                  "mutability": "mutable",
                  "name": "_apporderoperation",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2892,
                  "src": "1054:61:18",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_AppOrderOperation_$523_memory_ptr",
                    "typeString": "struct IexecLibOrders_v5.AppOrderOperation"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 2806,
                    "name": "IexecLibOrders_v5.AppOrderOperation",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 523,
                    "src": "1054:35:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_AppOrderOperation_$523_storage_ptr",
                      "typeString": "struct IexecLibOrders_v5.AppOrderOperation"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1053:63:18"
            },
            "returnParameters": {
              "id": 2810,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1135:0:18"
            },
            "scope": 3150,
            "src": "1030:830:18",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              7454
            ],
            "body": {
              "id": 2978,
              "nodeType": "Block",
              "src": "1980:789:18",
              "statements": [
                {
                  "assignments": [
                    2899
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2899,
                      "mutability": "mutable",
                      "name": "owner",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 2978,
                      "src": "1984:13:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 2898,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "1984:7:18",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2907,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 2901,
                                "name": "_datasetorderoperation",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2894,
                                "src": "2008:22:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_DatasetOrderOperation_$530_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.DatasetOrderOperation memory"
                                }
                              },
                              "id": 2902,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "order",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 525,
                              "src": "2008:28:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_DatasetOrder_$460_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.DatasetOrder memory"
                              }
                            },
                            "id": 2903,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "dataset",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 443,
                            "src": "2008:36:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 2900,
                          "name": "Dataset",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8288,
                          "src": "2000:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_Dataset_$8288_$",
                            "typeString": "type(contract Dataset)"
                          }
                        },
                        "id": 2904,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2000:45:18",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Dataset_$8288",
                          "typeString": "contract Dataset"
                        }
                      },
                      "id": 2905,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "owner",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8050,
                      "src": "2000:51:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
                        "typeString": "function () view external returns (address)"
                      }
                    },
                    "id": 2906,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2000:53:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1984:69:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 2924,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 2912,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 2909,
                            "name": "owner",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2899,
                            "src": "2065:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "id": 2910,
                              "name": "_msgSender",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10740,
                              "src": "2074:10:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$",
                                "typeString": "function () view returns (address payable)"
                              }
                            },
                            "id": 2911,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2074:12:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address_payable",
                              "typeString": "address payable"
                            }
                          },
                          "src": "2065:21:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 2914,
                              "name": "owner",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2899,
                              "src": "2106:5:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "arguments": [],
                                  "expression": {
                                    "argumentTypes": [],
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 2916,
                                      "name": "_datasetorderoperation",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 2894,
                                      "src": "2131:22:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_DatasetOrderOperation_$530_memory_ptr",
                                        "typeString": "struct IexecLibOrders_v5.DatasetOrderOperation memory"
                                      }
                                    },
                                    "id": 2917,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "hash",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 772,
                                    "src": "2131:27:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_delegatecall_pure$_t_struct$_DatasetOrderOperation_$530_memory_ptr_$returns$_t_bytes32_$bound_to$_t_struct$_DatasetOrderOperation_$530_memory_ptr_$",
                                      "typeString": "function (struct IexecLibOrders_v5.DatasetOrderOperation memory) pure returns (bytes32)"
                                    }
                                  },
                                  "id": 2918,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "2131:29:18",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 2919,
                                  "name": "EIP712DOMAIN_SEPARATOR",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 224,
                                  "src": "2162:22:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  },
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                ],
                                "id": 2915,
                                "name": "_toEthTypedStruct",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6463,
                                "src": "2113:17:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes_memory_ptr_$",
                                  "typeString": "function (bytes32,bytes32) pure returns (bytes memory)"
                                }
                              },
                              "id": 2920,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2113:72:18",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 2921,
                                "name": "_datasetorderoperation",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2894,
                                "src": "2187:22:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_DatasetOrderOperation_$530_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.DatasetOrderOperation memory"
                                }
                              },
                              "id": 2922,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "sign",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 529,
                              "src": "2187:27:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              },
                              {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            ],
                            "id": 2913,
                            "name": "_checkSignature",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              6674,
                              6757
                            ],
                            "referencedDeclaration": 6757,
                            "src": "2090:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$",
                              "typeString": "function (address,bytes memory,bytes memory) view returns (bool)"
                            }
                          },
                          "id": 2923,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2090:125:18",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "2065:150:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "696e76616c69642d73656e6465722d6f722d7369676e6174757265",
                        "id": 2925,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2217:29:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_b1312320dd18618ea815d99e0fdb695b5bd0bad806b784ba92eb100bfe9e717c",
                          "typeString": "literal_string \"invalid-sender-or-signature\""
                        },
                        "value": "invalid-sender-or-signature"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_b1312320dd18618ea815d99e0fdb695b5bd0bad806b784ba92eb100bfe9e717c",
                          "typeString": "literal_string \"invalid-sender-or-signature\""
                        }
                      ],
                      "id": 2908,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "2057:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 2926,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2057:190:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2927,
                  "nodeType": "ExpressionStatement",
                  "src": "2057:190:18"
                },
                {
                  "assignments": [
                    2929
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2929,
                      "mutability": "mutable",
                      "name": "datasetorderHash",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 2978,
                      "src": "2252:24:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 2928,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "2252:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2939,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "expression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 2932,
                                  "name": "_datasetorderoperation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2894,
                                  "src": "2307:22:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_DatasetOrderOperation_$530_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.DatasetOrderOperation memory"
                                  }
                                },
                                "id": 2933,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "order",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 525,
                                "src": "2307:28:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_DatasetOrder_$460_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.DatasetOrder memory"
                                }
                              },
                              "id": 2934,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "hash",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 639,
                              "src": "2307:33:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_delegatecall_pure$_t_struct$_DatasetOrder_$460_memory_ptr_$returns$_t_bytes32_$bound_to$_t_struct$_DatasetOrder_$460_memory_ptr_$",
                                "typeString": "function (struct IexecLibOrders_v5.DatasetOrder memory) pure returns (bytes32)"
                              }
                            },
                            "id": 2935,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2307:35:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 2936,
                            "name": "EIP712DOMAIN_SEPARATOR",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 224,
                            "src": "2344:22:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "id": 2931,
                          "name": "_toEthTypedStruct",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6463,
                          "src": "2289:17:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function (bytes32,bytes32) pure returns (bytes memory)"
                          }
                        },
                        "id": 2937,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2289:78:18",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 2930,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": -8,
                      "src": "2279:9:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                        "typeString": "function (bytes memory) pure returns (bytes32)"
                      }
                    },
                    "id": 2938,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2279:89:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2252:116:18"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                      "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                    },
                    "id": 2945,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 2940,
                        "name": "_datasetorderoperation",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2894,
                        "src": "2376:22:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DatasetOrderOperation_$530_memory_ptr",
                          "typeString": "struct IexecLibOrders_v5.DatasetOrderOperation memory"
                        }
                      },
                      "id": 2941,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "operation",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 527,
                      "src": "2376:32:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                        "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 2942,
                          "name": "IexecLibOrders_v5",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 815,
                          "src": "2412:17:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IexecLibOrders_v5_$815_$",
                            "typeString": "type(library IexecLibOrders_v5)"
                          }
                        },
                        "id": 2943,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "OrderOperationEnum",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 413,
                        "src": "2412:36:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_OrderOperationEnum_$413_$",
                          "typeString": "type(enum IexecLibOrders_v5.OrderOperationEnum)"
                        }
                      },
                      "id": 2944,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberName": "SIGN",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "2412:41:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                        "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                      }
                    },
                    "src": "2376:77:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                        "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                      },
                      "id": 2962,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 2957,
                          "name": "_datasetorderoperation",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2894,
                          "src": "2562:22:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_DatasetOrderOperation_$530_memory_ptr",
                            "typeString": "struct IexecLibOrders_v5.DatasetOrderOperation memory"
                          }
                        },
                        "id": 2958,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "operation",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 527,
                        "src": "2562:32:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                          "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 2959,
                            "name": "IexecLibOrders_v5",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 815,
                            "src": "2598:17:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_IexecLibOrders_v5_$815_$",
                              "typeString": "type(library IexecLibOrders_v5)"
                            }
                          },
                          "id": 2960,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "OrderOperationEnum",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 413,
                          "src": "2598:36:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_OrderOperationEnum_$413_$",
                            "typeString": "type(enum IexecLibOrders_v5.OrderOperationEnum)"
                          }
                        },
                        "id": 2961,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberName": "CLOSE",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "2598:42:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                          "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                        }
                      },
                      "src": "2562:78:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": null,
                    "id": 2976,
                    "nodeType": "IfStatement",
                    "src": "2558:208:18",
                    "trueBody": {
                      "id": 2975,
                      "nodeType": "Block",
                      "src": "2644:122:18",
                      "statements": [
                        {
                          "expression": {
                            "argumentTypes": null,
                            "id": 2969,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftHandSide": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 2963,
                                "name": "m_consumed",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 232,
                                "src": "2649:10:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                                  "typeString": "mapping(bytes32 => uint256)"
                                }
                              },
                              "id": 2965,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 2964,
                                "name": "datasetorderHash",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2929,
                                "src": "2660:16:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "nodeType": "IndexAccess",
                              "src": "2649:28:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "Assignment",
                            "operator": "=",
                            "rightHandSide": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 2966,
                                  "name": "_datasetorderoperation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2894,
                                  "src": "2680:22:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_DatasetOrderOperation_$530_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.DatasetOrderOperation memory"
                                  }
                                },
                                "id": 2967,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "order",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 525,
                                "src": "2680:28:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_DatasetOrder_$460_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.DatasetOrder memory"
                                }
                              },
                              "id": 2968,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "volume",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 447,
                              "src": "2680:35:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "2649:66:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 2970,
                          "nodeType": "ExpressionStatement",
                          "src": "2649:66:18"
                        },
                        {
                          "eventCall": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 2972,
                                "name": "datasetorderHash",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2929,
                                "src": "2744:16:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 2971,
                              "name": "ClosedDatasetOrder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7436,
                              "src": "2725:18:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$",
                                "typeString": "function (bytes32)"
                              }
                            },
                            "id": 2973,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2725:36:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$__$",
                              "typeString": "tuple()"
                            }
                          },
                          "id": 2974,
                          "nodeType": "EmitStatement",
                          "src": "2720:41:18"
                        }
                      ]
                    }
                  },
                  "id": 2977,
                  "nodeType": "IfStatement",
                  "src": "2372:394:18",
                  "trueBody": {
                    "id": 2956,
                    "nodeType": "Block",
                    "src": "2457:93:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 2950,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 2946,
                              "name": "m_presigned",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 228,
                              "src": "2462:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$",
                                "typeString": "mapping(bytes32 => address)"
                              }
                            },
                            "id": 2948,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 2947,
                              "name": "datasetorderHash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2929,
                              "src": "2474:16:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "2462:29:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "id": 2949,
                            "name": "owner",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2899,
                            "src": "2494:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "2462:37:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 2951,
                        "nodeType": "ExpressionStatement",
                        "src": "2462:37:18"
                      },
                      {
                        "eventCall": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 2953,
                              "name": "datasetorderHash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2929,
                              "src": "2528:16:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 2952,
                            "name": "SignedDatasetOrder",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7420,
                            "src": "2509:18:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$",
                              "typeString": "function (bytes32)"
                            }
                          },
                          "id": 2954,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2509:36:18",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 2955,
                        "nodeType": "EmitStatement",
                        "src": "2504:41:18"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": null,
            "functionSelector": "4b747106",
            "id": 2979,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "manageDatasetOrder",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 2896,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "1970:8:18"
            },
            "parameters": {
              "id": 2895,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2894,
                  "mutability": "mutable",
                  "name": "_datasetorderoperation",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2979,
                  "src": "1891:69:18",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_DatasetOrderOperation_$530_memory_ptr",
                    "typeString": "struct IexecLibOrders_v5.DatasetOrderOperation"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 2893,
                    "name": "IexecLibOrders_v5.DatasetOrderOperation",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 530,
                    "src": "1891:39:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_DatasetOrderOperation_$530_storage_ptr",
                      "typeString": "struct IexecLibOrders_v5.DatasetOrderOperation"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1890:71:18"
            },
            "returnParameters": {
              "id": 2897,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1980:0:18"
            },
            "scope": 3150,
            "src": "1863:906:18",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              7459
            ],
            "body": {
              "id": 3065,
              "nodeType": "Block",
              "src": "2898:837:18",
              "statements": [
                {
                  "assignments": [
                    2986
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2986,
                      "mutability": "mutable",
                      "name": "owner",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 3065,
                      "src": "2902:13:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 2985,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "2902:7:18",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2994,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 2988,
                                "name": "_workerpoolorderoperation",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2981,
                                "src": "2929:25:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_WorkerpoolOrderOperation_$537_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.WorkerpoolOrderOperation memory"
                                }
                              },
                              "id": 2989,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "order",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 532,
                              "src": "2929:31:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder memory"
                              }
                            },
                            "id": 2990,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "workerpool",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 462,
                            "src": "2929:42:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 2987,
                          "name": "Workerpool",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8459,
                          "src": "2918:10:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_Workerpool_$8459_$",
                            "typeString": "type(contract Workerpool)"
                          }
                        },
                        "id": 2991,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2918:54:18",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Workerpool_$8459",
                          "typeString": "contract Workerpool"
                        }
                      },
                      "id": 2992,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "owner",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8050,
                      "src": "2918:60:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
                        "typeString": "function () view external returns (address)"
                      }
                    },
                    "id": 2993,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2918:62:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2902:78:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 3011,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 2999,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 2996,
                            "name": "owner",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2986,
                            "src": "2992:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "id": 2997,
                              "name": "_msgSender",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10740,
                              "src": "3001:10:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$",
                                "typeString": "function () view returns (address payable)"
                              }
                            },
                            "id": 2998,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3001:12:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address_payable",
                              "typeString": "address payable"
                            }
                          },
                          "src": "2992:21:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 3001,
                              "name": "owner",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2986,
                              "src": "3033:5:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "arguments": [],
                                  "expression": {
                                    "argumentTypes": [],
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 3003,
                                      "name": "_workerpoolorderoperation",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 2981,
                                      "src": "3058:25:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_WorkerpoolOrderOperation_$537_memory_ptr",
                                        "typeString": "struct IexecLibOrders_v5.WorkerpoolOrderOperation memory"
                                      }
                                    },
                                    "id": 3004,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "hash",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 793,
                                    "src": "3058:30:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_delegatecall_pure$_t_struct$_WorkerpoolOrderOperation_$537_memory_ptr_$returns$_t_bytes32_$bound_to$_t_struct$_WorkerpoolOrderOperation_$537_memory_ptr_$",
                                      "typeString": "function (struct IexecLibOrders_v5.WorkerpoolOrderOperation memory) pure returns (bytes32)"
                                    }
                                  },
                                  "id": 3005,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "3058:32:18",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 3006,
                                  "name": "EIP712DOMAIN_SEPARATOR",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 224,
                                  "src": "3092:22:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  },
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                ],
                                "id": 3002,
                                "name": "_toEthTypedStruct",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6463,
                                "src": "3040:17:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes_memory_ptr_$",
                                  "typeString": "function (bytes32,bytes32) pure returns (bytes memory)"
                                }
                              },
                              "id": 3007,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "3040:75:18",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 3008,
                                "name": "_workerpoolorderoperation",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2981,
                                "src": "3117:25:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_WorkerpoolOrderOperation_$537_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.WorkerpoolOrderOperation memory"
                                }
                              },
                              "id": 3009,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "sign",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 536,
                              "src": "3117:30:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              },
                              {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            ],
                            "id": 3000,
                            "name": "_checkSignature",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              6674,
                              6757
                            ],
                            "referencedDeclaration": 6757,
                            "src": "3017:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$",
                              "typeString": "function (address,bytes memory,bytes memory) view returns (bool)"
                            }
                          },
                          "id": 3010,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3017:131:18",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "2992:156:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "696e76616c69642d73656e6465722d6f722d7369676e6174757265",
                        "id": 3012,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3150:29:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_b1312320dd18618ea815d99e0fdb695b5bd0bad806b784ba92eb100bfe9e717c",
                          "typeString": "literal_string \"invalid-sender-or-signature\""
                        },
                        "value": "invalid-sender-or-signature"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_b1312320dd18618ea815d99e0fdb695b5bd0bad806b784ba92eb100bfe9e717c",
                          "typeString": "literal_string \"invalid-sender-or-signature\""
                        }
                      ],
                      "id": 2995,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "2984:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3013,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2984:196:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3014,
                  "nodeType": "ExpressionStatement",
                  "src": "2984:196:18"
                },
                {
                  "assignments": [
                    3016
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3016,
                      "mutability": "mutable",
                      "name": "workerpoolorderHash",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 3065,
                      "src": "3185:27:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 3015,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "3185:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3026,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "expression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 3019,
                                  "name": "_workerpoolorderoperation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2981,
                                  "src": "3243:25:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_WorkerpoolOrderOperation_$537_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.WorkerpoolOrderOperation memory"
                                  }
                                },
                                "id": 3020,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "order",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 532,
                                "src": "3243:31:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder memory"
                                }
                              },
                              "id": 3021,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "hash",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 674,
                              "src": "3243:36:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_delegatecall_pure$_t_struct$_WorkerpoolOrder_$483_memory_ptr_$returns$_t_bytes32_$bound_to$_t_struct$_WorkerpoolOrder_$483_memory_ptr_$",
                                "typeString": "function (struct IexecLibOrders_v5.WorkerpoolOrder memory) pure returns (bytes32)"
                              }
                            },
                            "id": 3022,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3243:38:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 3023,
                            "name": "EIP712DOMAIN_SEPARATOR",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 224,
                            "src": "3283:22:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "id": 3018,
                          "name": "_toEthTypedStruct",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6463,
                          "src": "3225:17:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function (bytes32,bytes32) pure returns (bytes memory)"
                          }
                        },
                        "id": 3024,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3225:81:18",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 3017,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": -8,
                      "src": "3215:9:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                        "typeString": "function (bytes memory) pure returns (bytes32)"
                      }
                    },
                    "id": 3025,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3215:92:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3185:122:18"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                      "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                    },
                    "id": 3032,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 3027,
                        "name": "_workerpoolorderoperation",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2981,
                        "src": "3315:25:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_WorkerpoolOrderOperation_$537_memory_ptr",
                          "typeString": "struct IexecLibOrders_v5.WorkerpoolOrderOperation memory"
                        }
                      },
                      "id": 3028,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "operation",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 534,
                      "src": "3315:35:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                        "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3029,
                          "name": "IexecLibOrders_v5",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 815,
                          "src": "3354:17:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IexecLibOrders_v5_$815_$",
                            "typeString": "type(library IexecLibOrders_v5)"
                          }
                        },
                        "id": 3030,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "OrderOperationEnum",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 413,
                        "src": "3354:36:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_OrderOperationEnum_$413_$",
                          "typeString": "type(enum IexecLibOrders_v5.OrderOperationEnum)"
                        }
                      },
                      "id": 3031,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberName": "SIGN",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3354:41:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                        "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                      }
                    },
                    "src": "3315:80:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                        "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                      },
                      "id": 3049,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3044,
                          "name": "_workerpoolorderoperation",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2981,
                          "src": "3513:25:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_WorkerpoolOrderOperation_$537_memory_ptr",
                            "typeString": "struct IexecLibOrders_v5.WorkerpoolOrderOperation memory"
                          }
                        },
                        "id": 3045,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "operation",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 534,
                        "src": "3513:35:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                          "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3046,
                            "name": "IexecLibOrders_v5",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 815,
                            "src": "3552:17:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_IexecLibOrders_v5_$815_$",
                              "typeString": "type(library IexecLibOrders_v5)"
                            }
                          },
                          "id": 3047,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "OrderOperationEnum",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 413,
                          "src": "3552:36:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_OrderOperationEnum_$413_$",
                            "typeString": "type(enum IexecLibOrders_v5.OrderOperationEnum)"
                          }
                        },
                        "id": 3048,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberName": "CLOSE",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "3552:42:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                          "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                        }
                      },
                      "src": "3513:81:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": null,
                    "id": 3063,
                    "nodeType": "IfStatement",
                    "src": "3509:223:18",
                    "trueBody": {
                      "id": 3062,
                      "nodeType": "Block",
                      "src": "3598:134:18",
                      "statements": [
                        {
                          "expression": {
                            "argumentTypes": null,
                            "id": 3056,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftHandSide": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 3050,
                                "name": "m_consumed",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 232,
                                "src": "3603:10:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                                  "typeString": "mapping(bytes32 => uint256)"
                                }
                              },
                              "id": 3052,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 3051,
                                "name": "workerpoolorderHash",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3016,
                                "src": "3614:19:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "nodeType": "IndexAccess",
                              "src": "3603:31:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "Assignment",
                            "operator": "=",
                            "rightHandSide": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 3053,
                                  "name": "_workerpoolorderoperation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2981,
                                  "src": "3637:25:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_WorkerpoolOrderOperation_$537_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.WorkerpoolOrderOperation memory"
                                  }
                                },
                                "id": 3054,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "order",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 532,
                                "src": "3637:31:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder memory"
                                }
                              },
                              "id": 3055,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "volume",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 466,
                              "src": "3637:38:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "3603:72:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 3057,
                          "nodeType": "ExpressionStatement",
                          "src": "3603:72:18"
                        },
                        {
                          "eventCall": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 3059,
                                "name": "workerpoolorderHash",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3016,
                                "src": "3707:19:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 3058,
                              "name": "ClosedWorkerpoolOrder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7440,
                              "src": "3685:21:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$",
                                "typeString": "function (bytes32)"
                              }
                            },
                            "id": 3060,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3685:42:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$__$",
                              "typeString": "tuple()"
                            }
                          },
                          "id": 3061,
                          "nodeType": "EmitStatement",
                          "src": "3680:47:18"
                        }
                      ]
                    }
                  },
                  "id": 3064,
                  "nodeType": "IfStatement",
                  "src": "3311:421:18",
                  "trueBody": {
                    "id": 3043,
                    "nodeType": "Block",
                    "src": "3399:102:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 3037,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 3033,
                              "name": "m_presigned",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 228,
                              "src": "3404:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$",
                                "typeString": "mapping(bytes32 => address)"
                              }
                            },
                            "id": 3035,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 3034,
                              "name": "workerpoolorderHash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3016,
                              "src": "3416:19:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "3404:32:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "id": 3036,
                            "name": "owner",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2986,
                            "src": "3439:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "3404:40:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 3038,
                        "nodeType": "ExpressionStatement",
                        "src": "3404:40:18"
                      },
                      {
                        "eventCall": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 3040,
                              "name": "workerpoolorderHash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3016,
                              "src": "3476:19:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 3039,
                            "name": "SignedWorkerpoolOrder",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7424,
                            "src": "3454:21:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$",
                              "typeString": "function (bytes32)"
                            }
                          },
                          "id": 3041,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3454:42:18",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 3042,
                        "nodeType": "EmitStatement",
                        "src": "3449:47:18"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": null,
            "functionSelector": "7e34a077",
            "id": 3066,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "manageWorkerpoolOrder",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 2983,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "2888:8:18"
            },
            "parameters": {
              "id": 2982,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2981,
                  "mutability": "mutable",
                  "name": "_workerpoolorderoperation",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 3066,
                  "src": "2803:75:18",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_WorkerpoolOrderOperation_$537_memory_ptr",
                    "typeString": "struct IexecLibOrders_v5.WorkerpoolOrderOperation"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 2980,
                    "name": "IexecLibOrders_v5.WorkerpoolOrderOperation",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 537,
                    "src": "2803:42:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_WorkerpoolOrderOperation_$537_storage_ptr",
                      "typeString": "struct IexecLibOrders_v5.WorkerpoolOrderOperation"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2802:77:18"
            },
            "returnParameters": {
              "id": 2984,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2898:0:18"
            },
            "scope": 3150,
            "src": "2772:963:18",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              7464
            ],
            "body": {
              "id": 3148,
              "nodeType": "Block",
              "src": "3855:774:18",
              "statements": [
                {
                  "assignments": [
                    3073
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3073,
                      "mutability": "mutable",
                      "name": "owner",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 3148,
                      "src": "3859:13:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 3072,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "3859:7:18",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3077,
                  "initialValue": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 3074,
                        "name": "_requestorderoperation",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3068,
                        "src": "3875:22:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RequestOrderOperation_$544_memory_ptr",
                          "typeString": "struct IexecLibOrders_v5.RequestOrderOperation memory"
                        }
                      },
                      "id": 3075,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "order",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 539,
                      "src": "3875:28:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                        "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                      }
                    },
                    "id": 3076,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "requester",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 497,
                    "src": "3875:38:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3859:54:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 3094,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 3082,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 3079,
                            "name": "owner",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3073,
                            "src": "3925:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "id": 3080,
                              "name": "_msgSender",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10740,
                              "src": "3934:10:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$",
                                "typeString": "function () view returns (address payable)"
                              }
                            },
                            "id": 3081,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3934:12:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address_payable",
                              "typeString": "address payable"
                            }
                          },
                          "src": "3925:21:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 3084,
                              "name": "owner",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3073,
                              "src": "3966:5:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "arguments": [],
                                  "expression": {
                                    "argumentTypes": [],
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 3086,
                                      "name": "_requestorderoperation",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 3068,
                                      "src": "3991:22:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_RequestOrderOperation_$544_memory_ptr",
                                        "typeString": "struct IexecLibOrders_v5.RequestOrderOperation memory"
                                      }
                                    },
                                    "id": 3087,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "hash",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 814,
                                    "src": "3991:27:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_delegatecall_pure$_t_struct$_RequestOrderOperation_$544_memory_ptr_$returns$_t_bytes32_$bound_to$_t_struct$_RequestOrderOperation_$544_memory_ptr_$",
                                      "typeString": "function (struct IexecLibOrders_v5.RequestOrderOperation memory) pure returns (bytes32)"
                                    }
                                  },
                                  "id": 3088,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "3991:29:18",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 3089,
                                  "name": "EIP712DOMAIN_SEPARATOR",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 224,
                                  "src": "4022:22:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  },
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                ],
                                "id": 3085,
                                "name": "_toEthTypedStruct",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6463,
                                "src": "3973:17:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes_memory_ptr_$",
                                  "typeString": "function (bytes32,bytes32) pure returns (bytes memory)"
                                }
                              },
                              "id": 3090,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "3973:72:18",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 3091,
                                "name": "_requestorderoperation",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3068,
                                "src": "4047:22:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RequestOrderOperation_$544_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.RequestOrderOperation memory"
                                }
                              },
                              "id": 3092,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "sign",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 543,
                              "src": "4047:27:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              },
                              {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            ],
                            "id": 3083,
                            "name": "_checkSignature",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              6674,
                              6757
                            ],
                            "referencedDeclaration": 6757,
                            "src": "3950:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$",
                              "typeString": "function (address,bytes memory,bytes memory) view returns (bool)"
                            }
                          },
                          "id": 3093,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3950:125:18",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "3925:150:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "696e76616c69642d73656e6465722d6f722d7369676e6174757265",
                        "id": 3095,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4077:29:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_b1312320dd18618ea815d99e0fdb695b5bd0bad806b784ba92eb100bfe9e717c",
                          "typeString": "literal_string \"invalid-sender-or-signature\""
                        },
                        "value": "invalid-sender-or-signature"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_b1312320dd18618ea815d99e0fdb695b5bd0bad806b784ba92eb100bfe9e717c",
                          "typeString": "literal_string \"invalid-sender-or-signature\""
                        }
                      ],
                      "id": 3078,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "3917:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3096,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3917:190:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3097,
                  "nodeType": "ExpressionStatement",
                  "src": "3917:190:18"
                },
                {
                  "assignments": [
                    3099
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3099,
                      "mutability": "mutable",
                      "name": "requestorderHash",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 3148,
                      "src": "4112:24:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 3098,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "4112:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3109,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "expression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 3102,
                                  "name": "_requestorderoperation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3068,
                                  "src": "4167:22:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestOrderOperation_$544_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.RequestOrderOperation memory"
                                  }
                                },
                                "id": 3103,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "order",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 539,
                                "src": "4167:28:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                }
                              },
                              "id": 3104,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "hash",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 730,
                              "src": "4167:33:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_delegatecall_pure$_t_struct$_RequestOrder_$516_memory_ptr_$returns$_t_bytes32_$bound_to$_t_struct$_RequestOrder_$516_memory_ptr_$",
                                "typeString": "function (struct IexecLibOrders_v5.RequestOrder memory) pure returns (bytes32)"
                              }
                            },
                            "id": 3105,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4167:35:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 3106,
                            "name": "EIP712DOMAIN_SEPARATOR",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 224,
                            "src": "4204:22:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "id": 3101,
                          "name": "_toEthTypedStruct",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6463,
                          "src": "4149:17:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function (bytes32,bytes32) pure returns (bytes memory)"
                          }
                        },
                        "id": 3107,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4149:78:18",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 3100,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": -8,
                      "src": "4139:9:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                        "typeString": "function (bytes memory) pure returns (bytes32)"
                      }
                    },
                    "id": 3108,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4139:89:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4112:116:18"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                      "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                    },
                    "id": 3115,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 3110,
                        "name": "_requestorderoperation",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3068,
                        "src": "4236:22:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RequestOrderOperation_$544_memory_ptr",
                          "typeString": "struct IexecLibOrders_v5.RequestOrderOperation memory"
                        }
                      },
                      "id": 3111,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "operation",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 541,
                      "src": "4236:32:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                        "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3112,
                          "name": "IexecLibOrders_v5",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 815,
                          "src": "4272:17:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IexecLibOrders_v5_$815_$",
                            "typeString": "type(library IexecLibOrders_v5)"
                          }
                        },
                        "id": 3113,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "OrderOperationEnum",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 413,
                        "src": "4272:36:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_OrderOperationEnum_$413_$",
                          "typeString": "type(enum IexecLibOrders_v5.OrderOperationEnum)"
                        }
                      },
                      "id": 3114,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberName": "SIGN",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "4272:41:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                        "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                      }
                    },
                    "src": "4236:77:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                        "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                      },
                      "id": 3132,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3127,
                          "name": "_requestorderoperation",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3068,
                          "src": "4422:22:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestOrderOperation_$544_memory_ptr",
                            "typeString": "struct IexecLibOrders_v5.RequestOrderOperation memory"
                          }
                        },
                        "id": 3128,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "operation",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 541,
                        "src": "4422:32:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                          "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3129,
                            "name": "IexecLibOrders_v5",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 815,
                            "src": "4458:17:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_IexecLibOrders_v5_$815_$",
                              "typeString": "type(library IexecLibOrders_v5)"
                            }
                          },
                          "id": 3130,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "OrderOperationEnum",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 413,
                          "src": "4458:36:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_OrderOperationEnum_$413_$",
                            "typeString": "type(enum IexecLibOrders_v5.OrderOperationEnum)"
                          }
                        },
                        "id": 3131,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberName": "CLOSE",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "4458:42:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                          "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                        }
                      },
                      "src": "4422:78:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": null,
                    "id": 3146,
                    "nodeType": "IfStatement",
                    "src": "4418:208:18",
                    "trueBody": {
                      "id": 3145,
                      "nodeType": "Block",
                      "src": "4504:122:18",
                      "statements": [
                        {
                          "expression": {
                            "argumentTypes": null,
                            "id": 3139,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftHandSide": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 3133,
                                "name": "m_consumed",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 232,
                                "src": "4509:10:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                                  "typeString": "mapping(bytes32 => uint256)"
                                }
                              },
                              "id": 3135,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 3134,
                                "name": "requestorderHash",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3099,
                                "src": "4520:16:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "nodeType": "IndexAccess",
                              "src": "4509:28:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "Assignment",
                            "operator": "=",
                            "rightHandSide": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 3136,
                                  "name": "_requestorderoperation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3068,
                                  "src": "4540:22:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestOrderOperation_$544_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.RequestOrderOperation memory"
                                  }
                                },
                                "id": 3137,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "order",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 539,
                                "src": "4540:28:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                }
                              },
                              "id": 3138,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "volume",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 499,
                              "src": "4540:35:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "4509:66:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 3140,
                          "nodeType": "ExpressionStatement",
                          "src": "4509:66:18"
                        },
                        {
                          "eventCall": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 3142,
                                "name": "requestorderHash",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3099,
                                "src": "4604:16:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 3141,
                              "name": "ClosedRequestOrder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7444,
                              "src": "4585:18:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$",
                                "typeString": "function (bytes32)"
                              }
                            },
                            "id": 3143,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4585:36:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$__$",
                              "typeString": "tuple()"
                            }
                          },
                          "id": 3144,
                          "nodeType": "EmitStatement",
                          "src": "4580:41:18"
                        }
                      ]
                    }
                  },
                  "id": 3147,
                  "nodeType": "IfStatement",
                  "src": "4232:394:18",
                  "trueBody": {
                    "id": 3126,
                    "nodeType": "Block",
                    "src": "4317:93:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 3120,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 3116,
                              "name": "m_presigned",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 228,
                              "src": "4322:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$",
                                "typeString": "mapping(bytes32 => address)"
                              }
                            },
                            "id": 3118,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 3117,
                              "name": "requestorderHash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3099,
                              "src": "4334:16:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "4322:29:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "id": 3119,
                            "name": "owner",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3073,
                            "src": "4354:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "4322:37:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 3121,
                        "nodeType": "ExpressionStatement",
                        "src": "4322:37:18"
                      },
                      {
                        "eventCall": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 3123,
                              "name": "requestorderHash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3099,
                              "src": "4388:16:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 3122,
                            "name": "SignedRequestOrder",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7428,
                            "src": "4369:18:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$",
                              "typeString": "function (bytes32)"
                            }
                          },
                          "id": 3124,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4369:36:18",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 3125,
                        "nodeType": "EmitStatement",
                        "src": "4364:41:18"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": null,
            "functionSelector": "8dd971d5",
            "id": 3149,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "manageRequestOrder",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 3070,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "3845:8:18"
            },
            "parameters": {
              "id": 3069,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3068,
                  "mutability": "mutable",
                  "name": "_requestorderoperation",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 3149,
                  "src": "3766:69:18",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RequestOrderOperation_$544_memory_ptr",
                    "typeString": "struct IexecLibOrders_v5.RequestOrderOperation"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3067,
                    "name": "IexecLibOrders_v5.RequestOrderOperation",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 544,
                    "src": "3766:39:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RequestOrderOperation_$544_storage_ptr",
                      "typeString": "struct IexecLibOrders_v5.RequestOrderOperation"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3765:71:18"
            },
            "returnParameters": {
              "id": 3071,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3855:0:18"
            },
            "scope": 3150,
            "src": "3738:891:18",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          }
        ],
        "scope": 3151,
        "src": "174:4457:18"
      }
    ],
    "src": "0:4632:18"
  },
  "legacyAST": {
    "absolutePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/modules/delegates/IexecOrderManagementDelegate.sol",
    "exportedSymbols": {
      "IexecOrderManagementDelegate": [
        3150
      ]
    },
    "id": 3151,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 2770,
        "literals": [
          "solidity",
          "^",
          "0.6",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:23:18"
      },
      {
        "id": 2771,
        "literals": [
          "experimental",
          "ABIEncoderV2"
        ],
        "nodeType": "PragmaDirective",
        "src": "24:33:18"
      },
      {
        "absolutePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/modules/delegates/SignatureVerifier.sol",
        "file": "./SignatureVerifier.sol",
        "id": 2772,
        "nodeType": "ImportDirective",
        "scope": 3151,
        "sourceUnit": 6807,
        "src": "59:33:18",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/modules/DelegateBase.sol",
        "file": "../DelegateBase.sol",
        "id": 2773,
        "nodeType": "ImportDirective",
        "scope": 3151,
        "sourceUnit": 845,
        "src": "93:29:18",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/modules/interfaces/IexecOrderManagement.sol",
        "file": "../interfaces/IexecOrderManagement.sol",
        "id": 2774,
        "nodeType": "ImportDirective",
        "scope": 3151,
        "sourceUnit": 7466,
        "src": "123:48:18",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 2775,
              "name": "IexecOrderManagement",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 7465,
              "src": "215:20:18",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IexecOrderManagement_$7465",
                "typeString": "contract IexecOrderManagement"
              }
            },
            "id": 2776,
            "nodeType": "InheritanceSpecifier",
            "src": "215:20:18"
          },
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 2777,
              "name": "DelegateBase",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 844,
              "src": "237:12:18",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_DelegateBase_$844",
                "typeString": "contract DelegateBase"
              }
            },
            "id": 2778,
            "nodeType": "InheritanceSpecifier",
            "src": "237:12:18"
          },
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 2779,
              "name": "SignatureVerifier",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 6806,
              "src": "251:17:18",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_SignatureVerifier_$6806",
                "typeString": "contract SignatureVerifier"
              }
            },
            "id": 2780,
            "nodeType": "InheritanceSpecifier",
            "src": "251:17:18"
          }
        ],
        "contractDependencies": [
          268,
          844,
          6806,
          7465,
          10170,
          10182,
          10752,
          10861
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 3150,
        "linearizedBaseContracts": [
          3150,
          6806,
          844,
          10170,
          268,
          10182,
          10861,
          10752,
          7465
        ],
        "name": "IexecOrderManagementDelegate",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "id": 2783,
            "libraryName": {
              "contractScope": null,
              "id": 2781,
              "name": "IexecLibOrders_v5",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 815,
              "src": "278:17:18",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IexecLibOrders_v5_$815",
                "typeString": "library IexecLibOrders_v5"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "272:55:18",
            "typeName": {
              "contractScope": null,
              "id": 2782,
              "name": "IexecLibOrders_v5.AppOrder",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 441,
              "src": "300:26:18",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_AppOrder_$441_storage_ptr",
                "typeString": "struct IexecLibOrders_v5.AppOrder"
              }
            }
          },
          {
            "id": 2786,
            "libraryName": {
              "contractScope": null,
              "id": 2784,
              "name": "IexecLibOrders_v5",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 815,
              "src": "335:17:18",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IexecLibOrders_v5_$815",
                "typeString": "library IexecLibOrders_v5"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "329:59:18",
            "typeName": {
              "contractScope": null,
              "id": 2785,
              "name": "IexecLibOrders_v5.DatasetOrder",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 460,
              "src": "357:30:18",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_DatasetOrder_$460_storage_ptr",
                "typeString": "struct IexecLibOrders_v5.DatasetOrder"
              }
            }
          },
          {
            "id": 2789,
            "libraryName": {
              "contractScope": null,
              "id": 2787,
              "name": "IexecLibOrders_v5",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 815,
              "src": "396:17:18",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IexecLibOrders_v5_$815",
                "typeString": "library IexecLibOrders_v5"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "390:62:18",
            "typeName": {
              "contractScope": null,
              "id": 2788,
              "name": "IexecLibOrders_v5.WorkerpoolOrder",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 483,
              "src": "418:33:18",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_storage_ptr",
                "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder"
              }
            }
          },
          {
            "id": 2792,
            "libraryName": {
              "contractScope": null,
              "id": 2790,
              "name": "IexecLibOrders_v5",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 815,
              "src": "460:17:18",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IexecLibOrders_v5_$815",
                "typeString": "library IexecLibOrders_v5"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "454:59:18",
            "typeName": {
              "contractScope": null,
              "id": 2791,
              "name": "IexecLibOrders_v5.RequestOrder",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 516,
              "src": "482:30:18",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_RequestOrder_$516_storage_ptr",
                "typeString": "struct IexecLibOrders_v5.RequestOrder"
              }
            }
          },
          {
            "id": 2795,
            "libraryName": {
              "contractScope": null,
              "id": 2793,
              "name": "IexecLibOrders_v5",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 815,
              "src": "521:17:18",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IexecLibOrders_v5_$815",
                "typeString": "library IexecLibOrders_v5"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "515:64:18",
            "typeName": {
              "contractScope": null,
              "id": 2794,
              "name": "IexecLibOrders_v5.AppOrderOperation",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 523,
              "src": "543:35:18",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_AppOrderOperation_$523_storage_ptr",
                "typeString": "struct IexecLibOrders_v5.AppOrderOperation"
              }
            }
          },
          {
            "id": 2798,
            "libraryName": {
              "contractScope": null,
              "id": 2796,
              "name": "IexecLibOrders_v5",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 815,
              "src": "587:17:18",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IexecLibOrders_v5_$815",
                "typeString": "library IexecLibOrders_v5"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "581:68:18",
            "typeName": {
              "contractScope": null,
              "id": 2797,
              "name": "IexecLibOrders_v5.DatasetOrderOperation",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 530,
              "src": "609:39:18",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_DatasetOrderOperation_$530_storage_ptr",
                "typeString": "struct IexecLibOrders_v5.DatasetOrderOperation"
              }
            }
          },
          {
            "id": 2801,
            "libraryName": {
              "contractScope": null,
              "id": 2799,
              "name": "IexecLibOrders_v5",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 815,
              "src": "657:17:18",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IexecLibOrders_v5_$815",
                "typeString": "library IexecLibOrders_v5"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "651:71:18",
            "typeName": {
              "contractScope": null,
              "id": 2800,
              "name": "IexecLibOrders_v5.WorkerpoolOrderOperation",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 537,
              "src": "679:42:18",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_WorkerpoolOrderOperation_$537_storage_ptr",
                "typeString": "struct IexecLibOrders_v5.WorkerpoolOrderOperation"
              }
            }
          },
          {
            "id": 2804,
            "libraryName": {
              "contractScope": null,
              "id": 2802,
              "name": "IexecLibOrders_v5",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 815,
              "src": "730:17:18",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IexecLibOrders_v5_$815",
                "typeString": "library IexecLibOrders_v5"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "724:68:18",
            "typeName": {
              "contractScope": null,
              "id": 2803,
              "name": "IexecLibOrders_v5.RequestOrderOperation",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 544,
              "src": "752:39:18",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_RequestOrderOperation_$544_storage_ptr",
                "typeString": "struct IexecLibOrders_v5.RequestOrderOperation"
              }
            }
          },
          {
            "baseFunctions": [
              7449
            ],
            "body": {
              "id": 2891,
              "nodeType": "Block",
              "src": "1135:725:18",
              "statements": [
                {
                  "assignments": [
                    2812
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2812,
                      "mutability": "mutable",
                      "name": "owner",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 2891,
                      "src": "1139:13:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 2811,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "1139:7:18",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2820,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 2814,
                                "name": "_apporderoperation",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2807,
                                "src": "1159:18:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_AppOrderOperation_$523_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.AppOrderOperation memory"
                                }
                              },
                              "id": 2815,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "order",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 518,
                              "src": "1159:24:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_AppOrder_$441_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.AppOrder memory"
                              }
                            },
                            "id": 2816,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "app",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 424,
                            "src": "1159:28:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 2813,
                          "name": "App",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8137,
                          "src": "1155:3:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_App_$8137_$",
                            "typeString": "type(contract App)"
                          }
                        },
                        "id": 2817,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1155:33:18",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_App_$8137",
                          "typeString": "contract App"
                        }
                      },
                      "id": 2818,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "owner",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8050,
                      "src": "1155:39:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
                        "typeString": "function () view external returns (address)"
                      }
                    },
                    "id": 2819,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1155:41:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1139:57:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 2837,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 2825,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 2822,
                            "name": "owner",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2812,
                            "src": "1208:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "id": 2823,
                              "name": "_msgSender",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10740,
                              "src": "1217:10:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$",
                                "typeString": "function () view returns (address payable)"
                              }
                            },
                            "id": 2824,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "1217:12:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address_payable",
                              "typeString": "address payable"
                            }
                          },
                          "src": "1208:21:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 2827,
                              "name": "owner",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2812,
                              "src": "1249:5:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "arguments": [],
                                  "expression": {
                                    "argumentTypes": [],
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 2829,
                                      "name": "_apporderoperation",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 2807,
                                      "src": "1274:18:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_AppOrderOperation_$523_memory_ptr",
                                        "typeString": "struct IexecLibOrders_v5.AppOrderOperation memory"
                                      }
                                    },
                                    "id": 2830,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "hash",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 751,
                                    "src": "1274:23:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_delegatecall_pure$_t_struct$_AppOrderOperation_$523_memory_ptr_$returns$_t_bytes32_$bound_to$_t_struct$_AppOrderOperation_$523_memory_ptr_$",
                                      "typeString": "function (struct IexecLibOrders_v5.AppOrderOperation memory) pure returns (bytes32)"
                                    }
                                  },
                                  "id": 2831,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "1274:25:18",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 2832,
                                  "name": "EIP712DOMAIN_SEPARATOR",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 224,
                                  "src": "1301:22:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  },
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                ],
                                "id": 2828,
                                "name": "_toEthTypedStruct",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6463,
                                "src": "1256:17:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes_memory_ptr_$",
                                  "typeString": "function (bytes32,bytes32) pure returns (bytes memory)"
                                }
                              },
                              "id": 2833,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "1256:68:18",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 2834,
                                "name": "_apporderoperation",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2807,
                                "src": "1326:18:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_AppOrderOperation_$523_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.AppOrderOperation memory"
                                }
                              },
                              "id": 2835,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "sign",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 522,
                              "src": "1326:23:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              },
                              {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            ],
                            "id": 2826,
                            "name": "_checkSignature",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              6674,
                              6757
                            ],
                            "referencedDeclaration": 6757,
                            "src": "1233:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$",
                              "typeString": "function (address,bytes memory,bytes memory) view returns (bool)"
                            }
                          },
                          "id": 2836,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1233:117:18",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "1208:142:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "696e76616c69642d73656e6465722d6f722d7369676e6174757265",
                        "id": 2838,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1352:29:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_b1312320dd18618ea815d99e0fdb695b5bd0bad806b784ba92eb100bfe9e717c",
                          "typeString": "literal_string \"invalid-sender-or-signature\""
                        },
                        "value": "invalid-sender-or-signature"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_b1312320dd18618ea815d99e0fdb695b5bd0bad806b784ba92eb100bfe9e717c",
                          "typeString": "literal_string \"invalid-sender-or-signature\""
                        }
                      ],
                      "id": 2821,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "1200:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 2839,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1200:182:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2840,
                  "nodeType": "ExpressionStatement",
                  "src": "1200:182:18"
                },
                {
                  "assignments": [
                    2842
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2842,
                      "mutability": "mutable",
                      "name": "apporderHash",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 2891,
                      "src": "1387:20:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 2841,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "1387:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2852,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "expression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 2845,
                                  "name": "_apporderoperation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2807,
                                  "src": "1438:18:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_AppOrderOperation_$523_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.AppOrderOperation memory"
                                  }
                                },
                                "id": 2846,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "order",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 518,
                                "src": "1438:24:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_AppOrder_$441_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.AppOrder memory"
                                }
                              },
                              "id": 2847,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "hash",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 608,
                              "src": "1438:29:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_delegatecall_pure$_t_struct$_AppOrder_$441_memory_ptr_$returns$_t_bytes32_$bound_to$_t_struct$_AppOrder_$441_memory_ptr_$",
                                "typeString": "function (struct IexecLibOrders_v5.AppOrder memory) pure returns (bytes32)"
                              }
                            },
                            "id": 2848,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "1438:31:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 2849,
                            "name": "EIP712DOMAIN_SEPARATOR",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 224,
                            "src": "1471:22:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "id": 2844,
                          "name": "_toEthTypedStruct",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6463,
                          "src": "1420:17:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function (bytes32,bytes32) pure returns (bytes memory)"
                          }
                        },
                        "id": 2850,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1420:74:18",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 2843,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": -8,
                      "src": "1410:9:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                        "typeString": "function (bytes memory) pure returns (bytes32)"
                      }
                    },
                    "id": 2851,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1410:85:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1387:108:18"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                      "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                    },
                    "id": 2858,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 2853,
                        "name": "_apporderoperation",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2807,
                        "src": "1503:18:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_AppOrderOperation_$523_memory_ptr",
                          "typeString": "struct IexecLibOrders_v5.AppOrderOperation memory"
                        }
                      },
                      "id": 2854,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "operation",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 520,
                      "src": "1503:28:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                        "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 2855,
                          "name": "IexecLibOrders_v5",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 815,
                          "src": "1535:17:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IexecLibOrders_v5_$815_$",
                            "typeString": "type(library IexecLibOrders_v5)"
                          }
                        },
                        "id": 2856,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "OrderOperationEnum",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 413,
                        "src": "1535:36:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_OrderOperationEnum_$413_$",
                          "typeString": "type(enum IexecLibOrders_v5.OrderOperationEnum)"
                        }
                      },
                      "id": 2857,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberName": "SIGN",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "1535:41:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                        "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                      }
                    },
                    "src": "1503:73:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                        "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                      },
                      "id": 2875,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 2870,
                          "name": "_apporderoperation",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2807,
                          "src": "1673:18:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_AppOrderOperation_$523_memory_ptr",
                            "typeString": "struct IexecLibOrders_v5.AppOrderOperation memory"
                          }
                        },
                        "id": 2871,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "operation",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 520,
                        "src": "1673:28:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                          "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 2872,
                            "name": "IexecLibOrders_v5",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 815,
                            "src": "1705:17:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_IexecLibOrders_v5_$815_$",
                              "typeString": "type(library IexecLibOrders_v5)"
                            }
                          },
                          "id": 2873,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "OrderOperationEnum",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 413,
                          "src": "1705:36:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_OrderOperationEnum_$413_$",
                            "typeString": "type(enum IexecLibOrders_v5.OrderOperationEnum)"
                          }
                        },
                        "id": 2874,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberName": "CLOSE",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "1705:42:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                          "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                        }
                      },
                      "src": "1673:74:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": null,
                    "id": 2889,
                    "nodeType": "IfStatement",
                    "src": "1669:188:18",
                    "trueBody": {
                      "id": 2888,
                      "nodeType": "Block",
                      "src": "1751:106:18",
                      "statements": [
                        {
                          "expression": {
                            "argumentTypes": null,
                            "id": 2882,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftHandSide": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 2876,
                                "name": "m_consumed",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 232,
                                "src": "1756:10:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                                  "typeString": "mapping(bytes32 => uint256)"
                                }
                              },
                              "id": 2878,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 2877,
                                "name": "apporderHash",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2842,
                                "src": "1767:12:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "nodeType": "IndexAccess",
                              "src": "1756:24:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "Assignment",
                            "operator": "=",
                            "rightHandSide": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 2879,
                                  "name": "_apporderoperation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2807,
                                  "src": "1783:18:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_AppOrderOperation_$523_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.AppOrderOperation memory"
                                  }
                                },
                                "id": 2880,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "order",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 518,
                                "src": "1783:24:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_AppOrder_$441_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.AppOrder memory"
                                }
                              },
                              "id": 2881,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "volume",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 428,
                              "src": "1783:31:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "1756:58:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 2883,
                          "nodeType": "ExpressionStatement",
                          "src": "1756:58:18"
                        },
                        {
                          "eventCall": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 2885,
                                "name": "apporderHash",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2842,
                                "src": "1839:12:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 2884,
                              "name": "ClosedAppOrder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7432,
                              "src": "1824:14:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$",
                                "typeString": "function (bytes32)"
                              }
                            },
                            "id": 2886,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "1824:28:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$__$",
                              "typeString": "tuple()"
                            }
                          },
                          "id": 2887,
                          "nodeType": "EmitStatement",
                          "src": "1819:33:18"
                        }
                      ]
                    }
                  },
                  "id": 2890,
                  "nodeType": "IfStatement",
                  "src": "1499:358:18",
                  "trueBody": {
                    "id": 2869,
                    "nodeType": "Block",
                    "src": "1580:81:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 2863,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 2859,
                              "name": "m_presigned",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 228,
                              "src": "1585:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$",
                                "typeString": "mapping(bytes32 => address)"
                              }
                            },
                            "id": 2861,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 2860,
                              "name": "apporderHash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2842,
                              "src": "1597:12:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "1585:25:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "id": 2862,
                            "name": "owner",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2812,
                            "src": "1613:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "1585:33:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 2864,
                        "nodeType": "ExpressionStatement",
                        "src": "1585:33:18"
                      },
                      {
                        "eventCall": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 2866,
                              "name": "apporderHash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2842,
                              "src": "1643:12:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 2865,
                            "name": "SignedAppOrder",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7416,
                            "src": "1628:14:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$",
                              "typeString": "function (bytes32)"
                            }
                          },
                          "id": 2867,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1628:28:18",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 2868,
                        "nodeType": "EmitStatement",
                        "src": "1623:33:18"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": {
              "id": 2805,
              "nodeType": "StructuredDocumentation",
              "src": "795:233:18",
              "text": "*************************************************************************\n                        order management tools                          ***************************************************************************"
            },
            "functionSelector": "b2b07e66",
            "id": 2892,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "manageAppOrder",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 2809,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "1125:8:18"
            },
            "parameters": {
              "id": 2808,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2807,
                  "mutability": "mutable",
                  "name": "_apporderoperation",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2892,
                  "src": "1054:61:18",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_AppOrderOperation_$523_memory_ptr",
                    "typeString": "struct IexecLibOrders_v5.AppOrderOperation"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 2806,
                    "name": "IexecLibOrders_v5.AppOrderOperation",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 523,
                    "src": "1054:35:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_AppOrderOperation_$523_storage_ptr",
                      "typeString": "struct IexecLibOrders_v5.AppOrderOperation"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1053:63:18"
            },
            "returnParameters": {
              "id": 2810,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1135:0:18"
            },
            "scope": 3150,
            "src": "1030:830:18",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              7454
            ],
            "body": {
              "id": 2978,
              "nodeType": "Block",
              "src": "1980:789:18",
              "statements": [
                {
                  "assignments": [
                    2899
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2899,
                      "mutability": "mutable",
                      "name": "owner",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 2978,
                      "src": "1984:13:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 2898,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "1984:7:18",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2907,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 2901,
                                "name": "_datasetorderoperation",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2894,
                                "src": "2008:22:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_DatasetOrderOperation_$530_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.DatasetOrderOperation memory"
                                }
                              },
                              "id": 2902,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "order",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 525,
                              "src": "2008:28:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_DatasetOrder_$460_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.DatasetOrder memory"
                              }
                            },
                            "id": 2903,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "dataset",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 443,
                            "src": "2008:36:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 2900,
                          "name": "Dataset",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8288,
                          "src": "2000:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_Dataset_$8288_$",
                            "typeString": "type(contract Dataset)"
                          }
                        },
                        "id": 2904,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2000:45:18",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Dataset_$8288",
                          "typeString": "contract Dataset"
                        }
                      },
                      "id": 2905,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "owner",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8050,
                      "src": "2000:51:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
                        "typeString": "function () view external returns (address)"
                      }
                    },
                    "id": 2906,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2000:53:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1984:69:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 2924,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 2912,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 2909,
                            "name": "owner",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2899,
                            "src": "2065:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "id": 2910,
                              "name": "_msgSender",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10740,
                              "src": "2074:10:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$",
                                "typeString": "function () view returns (address payable)"
                              }
                            },
                            "id": 2911,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2074:12:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address_payable",
                              "typeString": "address payable"
                            }
                          },
                          "src": "2065:21:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 2914,
                              "name": "owner",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2899,
                              "src": "2106:5:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "arguments": [],
                                  "expression": {
                                    "argumentTypes": [],
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 2916,
                                      "name": "_datasetorderoperation",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 2894,
                                      "src": "2131:22:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_DatasetOrderOperation_$530_memory_ptr",
                                        "typeString": "struct IexecLibOrders_v5.DatasetOrderOperation memory"
                                      }
                                    },
                                    "id": 2917,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "hash",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 772,
                                    "src": "2131:27:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_delegatecall_pure$_t_struct$_DatasetOrderOperation_$530_memory_ptr_$returns$_t_bytes32_$bound_to$_t_struct$_DatasetOrderOperation_$530_memory_ptr_$",
                                      "typeString": "function (struct IexecLibOrders_v5.DatasetOrderOperation memory) pure returns (bytes32)"
                                    }
                                  },
                                  "id": 2918,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "2131:29:18",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 2919,
                                  "name": "EIP712DOMAIN_SEPARATOR",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 224,
                                  "src": "2162:22:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  },
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                ],
                                "id": 2915,
                                "name": "_toEthTypedStruct",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6463,
                                "src": "2113:17:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes_memory_ptr_$",
                                  "typeString": "function (bytes32,bytes32) pure returns (bytes memory)"
                                }
                              },
                              "id": 2920,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2113:72:18",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 2921,
                                "name": "_datasetorderoperation",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2894,
                                "src": "2187:22:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_DatasetOrderOperation_$530_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.DatasetOrderOperation memory"
                                }
                              },
                              "id": 2922,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "sign",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 529,
                              "src": "2187:27:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              },
                              {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            ],
                            "id": 2913,
                            "name": "_checkSignature",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              6674,
                              6757
                            ],
                            "referencedDeclaration": 6757,
                            "src": "2090:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$",
                              "typeString": "function (address,bytes memory,bytes memory) view returns (bool)"
                            }
                          },
                          "id": 2923,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2090:125:18",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "2065:150:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "696e76616c69642d73656e6465722d6f722d7369676e6174757265",
                        "id": 2925,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2217:29:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_b1312320dd18618ea815d99e0fdb695b5bd0bad806b784ba92eb100bfe9e717c",
                          "typeString": "literal_string \"invalid-sender-or-signature\""
                        },
                        "value": "invalid-sender-or-signature"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_b1312320dd18618ea815d99e0fdb695b5bd0bad806b784ba92eb100bfe9e717c",
                          "typeString": "literal_string \"invalid-sender-or-signature\""
                        }
                      ],
                      "id": 2908,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "2057:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 2926,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2057:190:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2927,
                  "nodeType": "ExpressionStatement",
                  "src": "2057:190:18"
                },
                {
                  "assignments": [
                    2929
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2929,
                      "mutability": "mutable",
                      "name": "datasetorderHash",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 2978,
                      "src": "2252:24:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 2928,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "2252:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2939,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "expression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 2932,
                                  "name": "_datasetorderoperation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2894,
                                  "src": "2307:22:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_DatasetOrderOperation_$530_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.DatasetOrderOperation memory"
                                  }
                                },
                                "id": 2933,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "order",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 525,
                                "src": "2307:28:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_DatasetOrder_$460_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.DatasetOrder memory"
                                }
                              },
                              "id": 2934,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "hash",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 639,
                              "src": "2307:33:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_delegatecall_pure$_t_struct$_DatasetOrder_$460_memory_ptr_$returns$_t_bytes32_$bound_to$_t_struct$_DatasetOrder_$460_memory_ptr_$",
                                "typeString": "function (struct IexecLibOrders_v5.DatasetOrder memory) pure returns (bytes32)"
                              }
                            },
                            "id": 2935,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2307:35:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 2936,
                            "name": "EIP712DOMAIN_SEPARATOR",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 224,
                            "src": "2344:22:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "id": 2931,
                          "name": "_toEthTypedStruct",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6463,
                          "src": "2289:17:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function (bytes32,bytes32) pure returns (bytes memory)"
                          }
                        },
                        "id": 2937,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2289:78:18",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 2930,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": -8,
                      "src": "2279:9:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                        "typeString": "function (bytes memory) pure returns (bytes32)"
                      }
                    },
                    "id": 2938,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2279:89:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2252:116:18"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                      "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                    },
                    "id": 2945,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 2940,
                        "name": "_datasetorderoperation",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2894,
                        "src": "2376:22:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DatasetOrderOperation_$530_memory_ptr",
                          "typeString": "struct IexecLibOrders_v5.DatasetOrderOperation memory"
                        }
                      },
                      "id": 2941,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "operation",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 527,
                      "src": "2376:32:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                        "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 2942,
                          "name": "IexecLibOrders_v5",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 815,
                          "src": "2412:17:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IexecLibOrders_v5_$815_$",
                            "typeString": "type(library IexecLibOrders_v5)"
                          }
                        },
                        "id": 2943,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "OrderOperationEnum",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 413,
                        "src": "2412:36:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_OrderOperationEnum_$413_$",
                          "typeString": "type(enum IexecLibOrders_v5.OrderOperationEnum)"
                        }
                      },
                      "id": 2944,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberName": "SIGN",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "2412:41:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                        "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                      }
                    },
                    "src": "2376:77:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                        "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                      },
                      "id": 2962,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 2957,
                          "name": "_datasetorderoperation",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2894,
                          "src": "2562:22:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_DatasetOrderOperation_$530_memory_ptr",
                            "typeString": "struct IexecLibOrders_v5.DatasetOrderOperation memory"
                          }
                        },
                        "id": 2958,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "operation",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 527,
                        "src": "2562:32:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                          "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 2959,
                            "name": "IexecLibOrders_v5",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 815,
                            "src": "2598:17:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_IexecLibOrders_v5_$815_$",
                              "typeString": "type(library IexecLibOrders_v5)"
                            }
                          },
                          "id": 2960,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "OrderOperationEnum",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 413,
                          "src": "2598:36:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_OrderOperationEnum_$413_$",
                            "typeString": "type(enum IexecLibOrders_v5.OrderOperationEnum)"
                          }
                        },
                        "id": 2961,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberName": "CLOSE",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "2598:42:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                          "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                        }
                      },
                      "src": "2562:78:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": null,
                    "id": 2976,
                    "nodeType": "IfStatement",
                    "src": "2558:208:18",
                    "trueBody": {
                      "id": 2975,
                      "nodeType": "Block",
                      "src": "2644:122:18",
                      "statements": [
                        {
                          "expression": {
                            "argumentTypes": null,
                            "id": 2969,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftHandSide": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 2963,
                                "name": "m_consumed",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 232,
                                "src": "2649:10:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                                  "typeString": "mapping(bytes32 => uint256)"
                                }
                              },
                              "id": 2965,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 2964,
                                "name": "datasetorderHash",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2929,
                                "src": "2660:16:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "nodeType": "IndexAccess",
                              "src": "2649:28:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "Assignment",
                            "operator": "=",
                            "rightHandSide": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 2966,
                                  "name": "_datasetorderoperation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2894,
                                  "src": "2680:22:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_DatasetOrderOperation_$530_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.DatasetOrderOperation memory"
                                  }
                                },
                                "id": 2967,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "order",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 525,
                                "src": "2680:28:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_DatasetOrder_$460_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.DatasetOrder memory"
                                }
                              },
                              "id": 2968,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "volume",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 447,
                              "src": "2680:35:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "2649:66:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 2970,
                          "nodeType": "ExpressionStatement",
                          "src": "2649:66:18"
                        },
                        {
                          "eventCall": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 2972,
                                "name": "datasetorderHash",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2929,
                                "src": "2744:16:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 2971,
                              "name": "ClosedDatasetOrder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7436,
                              "src": "2725:18:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$",
                                "typeString": "function (bytes32)"
                              }
                            },
                            "id": 2973,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2725:36:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$__$",
                              "typeString": "tuple()"
                            }
                          },
                          "id": 2974,
                          "nodeType": "EmitStatement",
                          "src": "2720:41:18"
                        }
                      ]
                    }
                  },
                  "id": 2977,
                  "nodeType": "IfStatement",
                  "src": "2372:394:18",
                  "trueBody": {
                    "id": 2956,
                    "nodeType": "Block",
                    "src": "2457:93:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 2950,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 2946,
                              "name": "m_presigned",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 228,
                              "src": "2462:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$",
                                "typeString": "mapping(bytes32 => address)"
                              }
                            },
                            "id": 2948,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 2947,
                              "name": "datasetorderHash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2929,
                              "src": "2474:16:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "2462:29:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "id": 2949,
                            "name": "owner",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2899,
                            "src": "2494:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "2462:37:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 2951,
                        "nodeType": "ExpressionStatement",
                        "src": "2462:37:18"
                      },
                      {
                        "eventCall": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 2953,
                              "name": "datasetorderHash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2929,
                              "src": "2528:16:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 2952,
                            "name": "SignedDatasetOrder",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7420,
                            "src": "2509:18:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$",
                              "typeString": "function (bytes32)"
                            }
                          },
                          "id": 2954,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2509:36:18",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 2955,
                        "nodeType": "EmitStatement",
                        "src": "2504:41:18"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": null,
            "functionSelector": "4b747106",
            "id": 2979,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "manageDatasetOrder",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 2896,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "1970:8:18"
            },
            "parameters": {
              "id": 2895,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2894,
                  "mutability": "mutable",
                  "name": "_datasetorderoperation",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2979,
                  "src": "1891:69:18",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_DatasetOrderOperation_$530_memory_ptr",
                    "typeString": "struct IexecLibOrders_v5.DatasetOrderOperation"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 2893,
                    "name": "IexecLibOrders_v5.DatasetOrderOperation",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 530,
                    "src": "1891:39:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_DatasetOrderOperation_$530_storage_ptr",
                      "typeString": "struct IexecLibOrders_v5.DatasetOrderOperation"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1890:71:18"
            },
            "returnParameters": {
              "id": 2897,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1980:0:18"
            },
            "scope": 3150,
            "src": "1863:906:18",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              7459
            ],
            "body": {
              "id": 3065,
              "nodeType": "Block",
              "src": "2898:837:18",
              "statements": [
                {
                  "assignments": [
                    2986
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2986,
                      "mutability": "mutable",
                      "name": "owner",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 3065,
                      "src": "2902:13:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 2985,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "2902:7:18",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2994,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 2988,
                                "name": "_workerpoolorderoperation",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2981,
                                "src": "2929:25:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_WorkerpoolOrderOperation_$537_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.WorkerpoolOrderOperation memory"
                                }
                              },
                              "id": 2989,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "order",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 532,
                              "src": "2929:31:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_memory_ptr",
                                "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder memory"
                              }
                            },
                            "id": 2990,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "workerpool",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 462,
                            "src": "2929:42:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 2987,
                          "name": "Workerpool",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8459,
                          "src": "2918:10:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_Workerpool_$8459_$",
                            "typeString": "type(contract Workerpool)"
                          }
                        },
                        "id": 2991,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2918:54:18",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Workerpool_$8459",
                          "typeString": "contract Workerpool"
                        }
                      },
                      "id": 2992,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "owner",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8050,
                      "src": "2918:60:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
                        "typeString": "function () view external returns (address)"
                      }
                    },
                    "id": 2993,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2918:62:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2902:78:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 3011,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 2999,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 2996,
                            "name": "owner",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2986,
                            "src": "2992:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "id": 2997,
                              "name": "_msgSender",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10740,
                              "src": "3001:10:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$",
                                "typeString": "function () view returns (address payable)"
                              }
                            },
                            "id": 2998,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3001:12:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address_payable",
                              "typeString": "address payable"
                            }
                          },
                          "src": "2992:21:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 3001,
                              "name": "owner",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2986,
                              "src": "3033:5:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "arguments": [],
                                  "expression": {
                                    "argumentTypes": [],
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 3003,
                                      "name": "_workerpoolorderoperation",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 2981,
                                      "src": "3058:25:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_WorkerpoolOrderOperation_$537_memory_ptr",
                                        "typeString": "struct IexecLibOrders_v5.WorkerpoolOrderOperation memory"
                                      }
                                    },
                                    "id": 3004,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "hash",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 793,
                                    "src": "3058:30:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_delegatecall_pure$_t_struct$_WorkerpoolOrderOperation_$537_memory_ptr_$returns$_t_bytes32_$bound_to$_t_struct$_WorkerpoolOrderOperation_$537_memory_ptr_$",
                                      "typeString": "function (struct IexecLibOrders_v5.WorkerpoolOrderOperation memory) pure returns (bytes32)"
                                    }
                                  },
                                  "id": 3005,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "3058:32:18",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 3006,
                                  "name": "EIP712DOMAIN_SEPARATOR",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 224,
                                  "src": "3092:22:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  },
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                ],
                                "id": 3002,
                                "name": "_toEthTypedStruct",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6463,
                                "src": "3040:17:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes_memory_ptr_$",
                                  "typeString": "function (bytes32,bytes32) pure returns (bytes memory)"
                                }
                              },
                              "id": 3007,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "3040:75:18",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 3008,
                                "name": "_workerpoolorderoperation",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2981,
                                "src": "3117:25:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_WorkerpoolOrderOperation_$537_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.WorkerpoolOrderOperation memory"
                                }
                              },
                              "id": 3009,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "sign",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 536,
                              "src": "3117:30:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              },
                              {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            ],
                            "id": 3000,
                            "name": "_checkSignature",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              6674,
                              6757
                            ],
                            "referencedDeclaration": 6757,
                            "src": "3017:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$",
                              "typeString": "function (address,bytes memory,bytes memory) view returns (bool)"
                            }
                          },
                          "id": 3010,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3017:131:18",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "2992:156:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "696e76616c69642d73656e6465722d6f722d7369676e6174757265",
                        "id": 3012,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3150:29:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_b1312320dd18618ea815d99e0fdb695b5bd0bad806b784ba92eb100bfe9e717c",
                          "typeString": "literal_string \"invalid-sender-or-signature\""
                        },
                        "value": "invalid-sender-or-signature"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_b1312320dd18618ea815d99e0fdb695b5bd0bad806b784ba92eb100bfe9e717c",
                          "typeString": "literal_string \"invalid-sender-or-signature\""
                        }
                      ],
                      "id": 2995,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "2984:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3013,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2984:196:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3014,
                  "nodeType": "ExpressionStatement",
                  "src": "2984:196:18"
                },
                {
                  "assignments": [
                    3016
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3016,
                      "mutability": "mutable",
                      "name": "workerpoolorderHash",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 3065,
                      "src": "3185:27:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 3015,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "3185:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3026,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "expression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 3019,
                                  "name": "_workerpoolorderoperation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2981,
                                  "src": "3243:25:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_WorkerpoolOrderOperation_$537_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.WorkerpoolOrderOperation memory"
                                  }
                                },
                                "id": 3020,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "order",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 532,
                                "src": "3243:31:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder memory"
                                }
                              },
                              "id": 3021,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "hash",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 674,
                              "src": "3243:36:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_delegatecall_pure$_t_struct$_WorkerpoolOrder_$483_memory_ptr_$returns$_t_bytes32_$bound_to$_t_struct$_WorkerpoolOrder_$483_memory_ptr_$",
                                "typeString": "function (struct IexecLibOrders_v5.WorkerpoolOrder memory) pure returns (bytes32)"
                              }
                            },
                            "id": 3022,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3243:38:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 3023,
                            "name": "EIP712DOMAIN_SEPARATOR",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 224,
                            "src": "3283:22:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "id": 3018,
                          "name": "_toEthTypedStruct",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6463,
                          "src": "3225:17:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function (bytes32,bytes32) pure returns (bytes memory)"
                          }
                        },
                        "id": 3024,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3225:81:18",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 3017,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": -8,
                      "src": "3215:9:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                        "typeString": "function (bytes memory) pure returns (bytes32)"
                      }
                    },
                    "id": 3025,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3215:92:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3185:122:18"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                      "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                    },
                    "id": 3032,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 3027,
                        "name": "_workerpoolorderoperation",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2981,
                        "src": "3315:25:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_WorkerpoolOrderOperation_$537_memory_ptr",
                          "typeString": "struct IexecLibOrders_v5.WorkerpoolOrderOperation memory"
                        }
                      },
                      "id": 3028,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "operation",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 534,
                      "src": "3315:35:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                        "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3029,
                          "name": "IexecLibOrders_v5",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 815,
                          "src": "3354:17:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IexecLibOrders_v5_$815_$",
                            "typeString": "type(library IexecLibOrders_v5)"
                          }
                        },
                        "id": 3030,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "OrderOperationEnum",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 413,
                        "src": "3354:36:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_OrderOperationEnum_$413_$",
                          "typeString": "type(enum IexecLibOrders_v5.OrderOperationEnum)"
                        }
                      },
                      "id": 3031,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberName": "SIGN",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3354:41:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                        "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                      }
                    },
                    "src": "3315:80:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                        "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                      },
                      "id": 3049,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3044,
                          "name": "_workerpoolorderoperation",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2981,
                          "src": "3513:25:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_WorkerpoolOrderOperation_$537_memory_ptr",
                            "typeString": "struct IexecLibOrders_v5.WorkerpoolOrderOperation memory"
                          }
                        },
                        "id": 3045,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "operation",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 534,
                        "src": "3513:35:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                          "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3046,
                            "name": "IexecLibOrders_v5",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 815,
                            "src": "3552:17:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_IexecLibOrders_v5_$815_$",
                              "typeString": "type(library IexecLibOrders_v5)"
                            }
                          },
                          "id": 3047,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "OrderOperationEnum",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 413,
                          "src": "3552:36:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_OrderOperationEnum_$413_$",
                            "typeString": "type(enum IexecLibOrders_v5.OrderOperationEnum)"
                          }
                        },
                        "id": 3048,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberName": "CLOSE",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "3552:42:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                          "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                        }
                      },
                      "src": "3513:81:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": null,
                    "id": 3063,
                    "nodeType": "IfStatement",
                    "src": "3509:223:18",
                    "trueBody": {
                      "id": 3062,
                      "nodeType": "Block",
                      "src": "3598:134:18",
                      "statements": [
                        {
                          "expression": {
                            "argumentTypes": null,
                            "id": 3056,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftHandSide": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 3050,
                                "name": "m_consumed",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 232,
                                "src": "3603:10:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                                  "typeString": "mapping(bytes32 => uint256)"
                                }
                              },
                              "id": 3052,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 3051,
                                "name": "workerpoolorderHash",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3016,
                                "src": "3614:19:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "nodeType": "IndexAccess",
                              "src": "3603:31:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "Assignment",
                            "operator": "=",
                            "rightHandSide": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 3053,
                                  "name": "_workerpoolorderoperation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2981,
                                  "src": "3637:25:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_WorkerpoolOrderOperation_$537_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.WorkerpoolOrderOperation memory"
                                  }
                                },
                                "id": 3054,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "order",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 532,
                                "src": "3637:31:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_WorkerpoolOrder_$483_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.WorkerpoolOrder memory"
                                }
                              },
                              "id": 3055,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "volume",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 466,
                              "src": "3637:38:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "3603:72:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 3057,
                          "nodeType": "ExpressionStatement",
                          "src": "3603:72:18"
                        },
                        {
                          "eventCall": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 3059,
                                "name": "workerpoolorderHash",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3016,
                                "src": "3707:19:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 3058,
                              "name": "ClosedWorkerpoolOrder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7440,
                              "src": "3685:21:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$",
                                "typeString": "function (bytes32)"
                              }
                            },
                            "id": 3060,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3685:42:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$__$",
                              "typeString": "tuple()"
                            }
                          },
                          "id": 3061,
                          "nodeType": "EmitStatement",
                          "src": "3680:47:18"
                        }
                      ]
                    }
                  },
                  "id": 3064,
                  "nodeType": "IfStatement",
                  "src": "3311:421:18",
                  "trueBody": {
                    "id": 3043,
                    "nodeType": "Block",
                    "src": "3399:102:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 3037,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 3033,
                              "name": "m_presigned",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 228,
                              "src": "3404:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$",
                                "typeString": "mapping(bytes32 => address)"
                              }
                            },
                            "id": 3035,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 3034,
                              "name": "workerpoolorderHash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3016,
                              "src": "3416:19:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "3404:32:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "id": 3036,
                            "name": "owner",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2986,
                            "src": "3439:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "3404:40:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 3038,
                        "nodeType": "ExpressionStatement",
                        "src": "3404:40:18"
                      },
                      {
                        "eventCall": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 3040,
                              "name": "workerpoolorderHash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3016,
                              "src": "3476:19:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 3039,
                            "name": "SignedWorkerpoolOrder",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7424,
                            "src": "3454:21:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$",
                              "typeString": "function (bytes32)"
                            }
                          },
                          "id": 3041,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3454:42:18",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 3042,
                        "nodeType": "EmitStatement",
                        "src": "3449:47:18"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": null,
            "functionSelector": "7e34a077",
            "id": 3066,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "manageWorkerpoolOrder",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 2983,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "2888:8:18"
            },
            "parameters": {
              "id": 2982,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2981,
                  "mutability": "mutable",
                  "name": "_workerpoolorderoperation",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 3066,
                  "src": "2803:75:18",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_WorkerpoolOrderOperation_$537_memory_ptr",
                    "typeString": "struct IexecLibOrders_v5.WorkerpoolOrderOperation"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 2980,
                    "name": "IexecLibOrders_v5.WorkerpoolOrderOperation",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 537,
                    "src": "2803:42:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_WorkerpoolOrderOperation_$537_storage_ptr",
                      "typeString": "struct IexecLibOrders_v5.WorkerpoolOrderOperation"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2802:77:18"
            },
            "returnParameters": {
              "id": 2984,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2898:0:18"
            },
            "scope": 3150,
            "src": "2772:963:18",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              7464
            ],
            "body": {
              "id": 3148,
              "nodeType": "Block",
              "src": "3855:774:18",
              "statements": [
                {
                  "assignments": [
                    3073
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3073,
                      "mutability": "mutable",
                      "name": "owner",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 3148,
                      "src": "3859:13:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 3072,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "3859:7:18",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3077,
                  "initialValue": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 3074,
                        "name": "_requestorderoperation",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3068,
                        "src": "3875:22:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RequestOrderOperation_$544_memory_ptr",
                          "typeString": "struct IexecLibOrders_v5.RequestOrderOperation memory"
                        }
                      },
                      "id": 3075,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "order",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 539,
                      "src": "3875:28:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                        "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                      }
                    },
                    "id": 3076,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "requester",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 497,
                    "src": "3875:38:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3859:54:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 3094,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 3082,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 3079,
                            "name": "owner",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3073,
                            "src": "3925:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "id": 3080,
                              "name": "_msgSender",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10740,
                              "src": "3934:10:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$",
                                "typeString": "function () view returns (address payable)"
                              }
                            },
                            "id": 3081,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3934:12:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address_payable",
                              "typeString": "address payable"
                            }
                          },
                          "src": "3925:21:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 3084,
                              "name": "owner",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3073,
                              "src": "3966:5:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "arguments": [],
                                  "expression": {
                                    "argumentTypes": [],
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 3086,
                                      "name": "_requestorderoperation",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 3068,
                                      "src": "3991:22:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_RequestOrderOperation_$544_memory_ptr",
                                        "typeString": "struct IexecLibOrders_v5.RequestOrderOperation memory"
                                      }
                                    },
                                    "id": 3087,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "hash",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 814,
                                    "src": "3991:27:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_delegatecall_pure$_t_struct$_RequestOrderOperation_$544_memory_ptr_$returns$_t_bytes32_$bound_to$_t_struct$_RequestOrderOperation_$544_memory_ptr_$",
                                      "typeString": "function (struct IexecLibOrders_v5.RequestOrderOperation memory) pure returns (bytes32)"
                                    }
                                  },
                                  "id": 3088,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "3991:29:18",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 3089,
                                  "name": "EIP712DOMAIN_SEPARATOR",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 224,
                                  "src": "4022:22:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  },
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                ],
                                "id": 3085,
                                "name": "_toEthTypedStruct",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6463,
                                "src": "3973:17:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes_memory_ptr_$",
                                  "typeString": "function (bytes32,bytes32) pure returns (bytes memory)"
                                }
                              },
                              "id": 3090,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "3973:72:18",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 3091,
                                "name": "_requestorderoperation",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3068,
                                "src": "4047:22:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RequestOrderOperation_$544_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.RequestOrderOperation memory"
                                }
                              },
                              "id": 3092,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "sign",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 543,
                              "src": "4047:27:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              },
                              {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            ],
                            "id": 3083,
                            "name": "_checkSignature",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              6674,
                              6757
                            ],
                            "referencedDeclaration": 6757,
                            "src": "3950:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$",
                              "typeString": "function (address,bytes memory,bytes memory) view returns (bool)"
                            }
                          },
                          "id": 3093,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3950:125:18",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "3925:150:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "696e76616c69642d73656e6465722d6f722d7369676e6174757265",
                        "id": 3095,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4077:29:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_b1312320dd18618ea815d99e0fdb695b5bd0bad806b784ba92eb100bfe9e717c",
                          "typeString": "literal_string \"invalid-sender-or-signature\""
                        },
                        "value": "invalid-sender-or-signature"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_b1312320dd18618ea815d99e0fdb695b5bd0bad806b784ba92eb100bfe9e717c",
                          "typeString": "literal_string \"invalid-sender-or-signature\""
                        }
                      ],
                      "id": 3078,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "3917:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3096,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3917:190:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3097,
                  "nodeType": "ExpressionStatement",
                  "src": "3917:190:18"
                },
                {
                  "assignments": [
                    3099
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3099,
                      "mutability": "mutable",
                      "name": "requestorderHash",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 3148,
                      "src": "4112:24:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 3098,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "4112:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3109,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "expression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 3102,
                                  "name": "_requestorderoperation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3068,
                                  "src": "4167:22:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestOrderOperation_$544_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.RequestOrderOperation memory"
                                  }
                                },
                                "id": 3103,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "order",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 539,
                                "src": "4167:28:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                }
                              },
                              "id": 3104,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "hash",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 730,
                              "src": "4167:33:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_delegatecall_pure$_t_struct$_RequestOrder_$516_memory_ptr_$returns$_t_bytes32_$bound_to$_t_struct$_RequestOrder_$516_memory_ptr_$",
                                "typeString": "function (struct IexecLibOrders_v5.RequestOrder memory) pure returns (bytes32)"
                              }
                            },
                            "id": 3105,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4167:35:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 3106,
                            "name": "EIP712DOMAIN_SEPARATOR",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 224,
                            "src": "4204:22:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "id": 3101,
                          "name": "_toEthTypedStruct",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6463,
                          "src": "4149:17:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function (bytes32,bytes32) pure returns (bytes memory)"
                          }
                        },
                        "id": 3107,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4149:78:18",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 3100,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": -8,
                      "src": "4139:9:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                        "typeString": "function (bytes memory) pure returns (bytes32)"
                      }
                    },
                    "id": 3108,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4139:89:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4112:116:18"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                      "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                    },
                    "id": 3115,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 3110,
                        "name": "_requestorderoperation",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3068,
                        "src": "4236:22:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RequestOrderOperation_$544_memory_ptr",
                          "typeString": "struct IexecLibOrders_v5.RequestOrderOperation memory"
                        }
                      },
                      "id": 3111,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "operation",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 541,
                      "src": "4236:32:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                        "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3112,
                          "name": "IexecLibOrders_v5",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 815,
                          "src": "4272:17:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IexecLibOrders_v5_$815_$",
                            "typeString": "type(library IexecLibOrders_v5)"
                          }
                        },
                        "id": 3113,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "OrderOperationEnum",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 413,
                        "src": "4272:36:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_OrderOperationEnum_$413_$",
                          "typeString": "type(enum IexecLibOrders_v5.OrderOperationEnum)"
                        }
                      },
                      "id": 3114,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberName": "SIGN",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "4272:41:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                        "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                      }
                    },
                    "src": "4236:77:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                        "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                      },
                      "id": 3132,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3127,
                          "name": "_requestorderoperation",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3068,
                          "src": "4422:22:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestOrderOperation_$544_memory_ptr",
                            "typeString": "struct IexecLibOrders_v5.RequestOrderOperation memory"
                          }
                        },
                        "id": 3128,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "operation",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 541,
                        "src": "4422:32:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                          "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3129,
                            "name": "IexecLibOrders_v5",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 815,
                            "src": "4458:17:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_IexecLibOrders_v5_$815_$",
                              "typeString": "type(library IexecLibOrders_v5)"
                            }
                          },
                          "id": 3130,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "OrderOperationEnum",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 413,
                          "src": "4458:36:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_OrderOperationEnum_$413_$",
                            "typeString": "type(enum IexecLibOrders_v5.OrderOperationEnum)"
                          }
                        },
                        "id": 3131,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberName": "CLOSE",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "4458:42:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_OrderOperationEnum_$413",
                          "typeString": "enum IexecLibOrders_v5.OrderOperationEnum"
                        }
                      },
                      "src": "4422:78:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": null,
                    "id": 3146,
                    "nodeType": "IfStatement",
                    "src": "4418:208:18",
                    "trueBody": {
                      "id": 3145,
                      "nodeType": "Block",
                      "src": "4504:122:18",
                      "statements": [
                        {
                          "expression": {
                            "argumentTypes": null,
                            "id": 3139,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftHandSide": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 3133,
                                "name": "m_consumed",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 232,
                                "src": "4509:10:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                                  "typeString": "mapping(bytes32 => uint256)"
                                }
                              },
                              "id": 3135,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 3134,
                                "name": "requestorderHash",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3099,
                                "src": "4520:16:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "nodeType": "IndexAccess",
                              "src": "4509:28:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "Assignment",
                            "operator": "=",
                            "rightHandSide": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 3136,
                                  "name": "_requestorderoperation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3068,
                                  "src": "4540:22:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestOrderOperation_$544_memory_ptr",
                                    "typeString": "struct IexecLibOrders_v5.RequestOrderOperation memory"
                                  }
                                },
                                "id": 3137,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "order",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 539,
                                "src": "4540:28:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RequestOrder_$516_memory_ptr",
                                  "typeString": "struct IexecLibOrders_v5.RequestOrder memory"
                                }
                              },
                              "id": 3138,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "volume",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 499,
                              "src": "4540:35:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "4509:66:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 3140,
                          "nodeType": "ExpressionStatement",
                          "src": "4509:66:18"
                        },
                        {
                          "eventCall": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 3142,
                                "name": "requestorderHash",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3099,
                                "src": "4604:16:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 3141,
                              "name": "ClosedRequestOrder",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7444,
                              "src": "4585:18:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$",
                                "typeString": "function (bytes32)"
                              }
                            },
                            "id": 3143,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4585:36:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$__$",
                              "typeString": "tuple()"
                            }
                          },
                          "id": 3144,
                          "nodeType": "EmitStatement",
                          "src": "4580:41:18"
                        }
                      ]
                    }
                  },
                  "id": 3147,
                  "nodeType": "IfStatement",
                  "src": "4232:394:18",
                  "trueBody": {
                    "id": 3126,
                    "nodeType": "Block",
                    "src": "4317:93:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 3120,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 3116,
                              "name": "m_presigned",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 228,
                              "src": "4322:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$",
                                "typeString": "mapping(bytes32 => address)"
                              }
                            },
                            "id": 3118,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 3117,
                              "name": "requestorderHash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3099,
                              "src": "4334:16:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "4322:29:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "id": 3119,
                            "name": "owner",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3073,
                            "src": "4354:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "4322:37:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 3121,
                        "nodeType": "ExpressionStatement",
                        "src": "4322:37:18"
                      },
                      {
                        "eventCall": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 3123,
                              "name": "requestorderHash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3099,
                              "src": "4388:16:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 3122,
                            "name": "SignedRequestOrder",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7428,
                            "src": "4369:18:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$",
                              "typeString": "function (bytes32)"
                            }
                          },
                          "id": 3124,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4369:36:18",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 3125,
                        "nodeType": "EmitStatement",
                        "src": "4364:41:18"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": null,
            "functionSelector": "8dd971d5",
            "id": 3149,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "manageRequestOrder",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 3070,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "3845:8:18"
            },
            "parameters": {
              "id": 3069,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3068,
                  "mutability": "mutable",
                  "name": "_requestorderoperation",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 3149,
                  "src": "3766:69:18",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RequestOrderOperation_$544_memory_ptr",
                    "typeString": "struct IexecLibOrders_v5.RequestOrderOperation"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3067,
                    "name": "IexecLibOrders_v5.RequestOrderOperation",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 544,
                    "src": "3766:39:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RequestOrderOperation_$544_storage_ptr",
                      "typeString": "struct IexecLibOrders_v5.RequestOrderOperation"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3765:71:18"
            },
            "returnParameters": {
              "id": 3071,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3855:0:18"
            },
            "scope": 3150,
            "src": "3738:891:18",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          }
        ],
        "scope": 3151,
        "src": "174:4457:18"
      }
    ],
    "src": "0:4632:18"
  },
  "compiler": {
    "name": "solc",
    "version": "0.6.6+commit.6c089d02.Emscripten.clang"
  },
  "networks": {
    "1": {
      "events": {
        "0x7343f75be43aba524f85326508cd975d016ef7884676377366c69a7c32e30668": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "appHash",
              "type": "bytes32"
            }
          ],
          "name": "ClosedAppOrder",
          "type": "event"
        },
        "0xcf52e3228bc482a6656d8ab56c09888b1c5bf6aaadba0185e96a34836f2bb1d4": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "datasetHash",
              "type": "bytes32"
            }
          ],
          "name": "ClosedDatasetOrder",
          "type": "event"
        },
        "0x582f43f2a741cbe708aae3b8d38a4efc3d09d7e81919697b3ca693f4c444cc05": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "requestHash",
              "type": "bytes32"
            }
          ],
          "name": "ClosedRequestOrder",
          "type": "event"
        },
        "0x145ad51e4496173bca15e24e7eb46f9ab3a10eea0497e2801a3a6806c06113a3": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "workerpoolHash",
              "type": "bytes32"
            }
          ],
          "name": "ClosedWorkerpoolOrder",
          "type": "event"
        },
        "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "address",
              "name": "previousOwner",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "newOwner",
              "type": "address"
            }
          ],
          "name": "OwnershipTransferred",
          "type": "event"
        },
        "0x50933cf5a9c44d5ed66b895deb27212aa33d811b46a7b41093e047e213c0bcab": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "appHash",
              "type": "bytes32"
            }
          ],
          "name": "SignedAppOrder",
          "type": "event"
        },
        "0x79ce85909be2c590a728d1634ce6ec8a7cbf815260bacc05387890a313da8130": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "datasetHash",
              "type": "bytes32"
            }
          ],
          "name": "SignedDatasetOrder",
          "type": "event"
        },
        "0x3b0ac04165536d6b11d04220f998c840bd6e439d59c5d8721bba8a4e1fb9ebfd": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "requestHash",
              "type": "bytes32"
            }
          ],
          "name": "SignedRequestOrder",
          "type": "event"
        },
        "0x3a61aabf2ab04790d082ff1e332853b2f66944c2e951a146121f80272812a476": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "workerpoolHash",
              "type": "bytes32"
            }
          ],
          "name": "SignedWorkerpoolOrder",
          "type": "event"
        }
      },
      "links": {},
      "address": "0xfec98B422afeE8163BaFF91a32f0EDb1264603e6"
    },
    "3": {
      "events": {
        "0x7343f75be43aba524f85326508cd975d016ef7884676377366c69a7c32e30668": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "appHash",
              "type": "bytes32"
            }
          ],
          "name": "ClosedAppOrder",
          "type": "event"
        },
        "0xcf52e3228bc482a6656d8ab56c09888b1c5bf6aaadba0185e96a34836f2bb1d4": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "datasetHash",
              "type": "bytes32"
            }
          ],
          "name": "ClosedDatasetOrder",
          "type": "event"
        },
        "0x582f43f2a741cbe708aae3b8d38a4efc3d09d7e81919697b3ca693f4c444cc05": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "requestHash",
              "type": "bytes32"
            }
          ],
          "name": "ClosedRequestOrder",
          "type": "event"
        },
        "0x145ad51e4496173bca15e24e7eb46f9ab3a10eea0497e2801a3a6806c06113a3": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "workerpoolHash",
              "type": "bytes32"
            }
          ],
          "name": "ClosedWorkerpoolOrder",
          "type": "event"
        },
        "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "address",
              "name": "previousOwner",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "newOwner",
              "type": "address"
            }
          ],
          "name": "OwnershipTransferred",
          "type": "event"
        },
        "0x50933cf5a9c44d5ed66b895deb27212aa33d811b46a7b41093e047e213c0bcab": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "appHash",
              "type": "bytes32"
            }
          ],
          "name": "SignedAppOrder",
          "type": "event"
        },
        "0x79ce85909be2c590a728d1634ce6ec8a7cbf815260bacc05387890a313da8130": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "datasetHash",
              "type": "bytes32"
            }
          ],
          "name": "SignedDatasetOrder",
          "type": "event"
        },
        "0x3b0ac04165536d6b11d04220f998c840bd6e439d59c5d8721bba8a4e1fb9ebfd": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "requestHash",
              "type": "bytes32"
            }
          ],
          "name": "SignedRequestOrder",
          "type": "event"
        },
        "0x3a61aabf2ab04790d082ff1e332853b2f66944c2e951a146121f80272812a476": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "workerpoolHash",
              "type": "bytes32"
            }
          ],
          "name": "SignedWorkerpoolOrder",
          "type": "event"
        }
      },
      "links": {},
      "address": "0xfec98B422afeE8163BaFF91a32f0EDb1264603e6"
    },
    "4": {
      "events": {
        "0x7343f75be43aba524f85326508cd975d016ef7884676377366c69a7c32e30668": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "appHash",
              "type": "bytes32"
            }
          ],
          "name": "ClosedAppOrder",
          "type": "event"
        },
        "0xcf52e3228bc482a6656d8ab56c09888b1c5bf6aaadba0185e96a34836f2bb1d4": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "datasetHash",
              "type": "bytes32"
            }
          ],
          "name": "ClosedDatasetOrder",
          "type": "event"
        },
        "0x582f43f2a741cbe708aae3b8d38a4efc3d09d7e81919697b3ca693f4c444cc05": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "requestHash",
              "type": "bytes32"
            }
          ],
          "name": "ClosedRequestOrder",
          "type": "event"
        },
        "0x145ad51e4496173bca15e24e7eb46f9ab3a10eea0497e2801a3a6806c06113a3": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "workerpoolHash",
              "type": "bytes32"
            }
          ],
          "name": "ClosedWorkerpoolOrder",
          "type": "event"
        },
        "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "address",
              "name": "previousOwner",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "newOwner",
              "type": "address"
            }
          ],
          "name": "OwnershipTransferred",
          "type": "event"
        },
        "0x50933cf5a9c44d5ed66b895deb27212aa33d811b46a7b41093e047e213c0bcab": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "appHash",
              "type": "bytes32"
            }
          ],
          "name": "SignedAppOrder",
          "type": "event"
        },
        "0x79ce85909be2c590a728d1634ce6ec8a7cbf815260bacc05387890a313da8130": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "datasetHash",
              "type": "bytes32"
            }
          ],
          "name": "SignedDatasetOrder",
          "type": "event"
        },
        "0x3b0ac04165536d6b11d04220f998c840bd6e439d59c5d8721bba8a4e1fb9ebfd": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "requestHash",
              "type": "bytes32"
            }
          ],
          "name": "SignedRequestOrder",
          "type": "event"
        },
        "0x3a61aabf2ab04790d082ff1e332853b2f66944c2e951a146121f80272812a476": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "workerpoolHash",
              "type": "bytes32"
            }
          ],
          "name": "SignedWorkerpoolOrder",
          "type": "event"
        }
      },
      "links": {},
      "address": "0xfec98B422afeE8163BaFF91a32f0EDb1264603e6"
    },
    "5": {
      "events": {
        "0x7343f75be43aba524f85326508cd975d016ef7884676377366c69a7c32e30668": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "appHash",
              "type": "bytes32"
            }
          ],
          "name": "ClosedAppOrder",
          "type": "event"
        },
        "0xcf52e3228bc482a6656d8ab56c09888b1c5bf6aaadba0185e96a34836f2bb1d4": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "datasetHash",
              "type": "bytes32"
            }
          ],
          "name": "ClosedDatasetOrder",
          "type": "event"
        },
        "0x582f43f2a741cbe708aae3b8d38a4efc3d09d7e81919697b3ca693f4c444cc05": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "requestHash",
              "type": "bytes32"
            }
          ],
          "name": "ClosedRequestOrder",
          "type": "event"
        },
        "0x145ad51e4496173bca15e24e7eb46f9ab3a10eea0497e2801a3a6806c06113a3": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "workerpoolHash",
              "type": "bytes32"
            }
          ],
          "name": "ClosedWorkerpoolOrder",
          "type": "event"
        },
        "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "address",
              "name": "previousOwner",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "newOwner",
              "type": "address"
            }
          ],
          "name": "OwnershipTransferred",
          "type": "event"
        },
        "0x50933cf5a9c44d5ed66b895deb27212aa33d811b46a7b41093e047e213c0bcab": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "appHash",
              "type": "bytes32"
            }
          ],
          "name": "SignedAppOrder",
          "type": "event"
        },
        "0x79ce85909be2c590a728d1634ce6ec8a7cbf815260bacc05387890a313da8130": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "datasetHash",
              "type": "bytes32"
            }
          ],
          "name": "SignedDatasetOrder",
          "type": "event"
        },
        "0x3b0ac04165536d6b11d04220f998c840bd6e439d59c5d8721bba8a4e1fb9ebfd": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "requestHash",
              "type": "bytes32"
            }
          ],
          "name": "SignedRequestOrder",
          "type": "event"
        },
        "0x3a61aabf2ab04790d082ff1e332853b2f66944c2e951a146121f80272812a476": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "workerpoolHash",
              "type": "bytes32"
            }
          ],
          "name": "SignedWorkerpoolOrder",
          "type": "event"
        }
      },
      "links": {},
      "address": "0xfec98B422afeE8163BaFF91a32f0EDb1264603e6"
    },
    "42": {
      "events": {
        "0x7343f75be43aba524f85326508cd975d016ef7884676377366c69a7c32e30668": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "appHash",
              "type": "bytes32"
            }
          ],
          "name": "ClosedAppOrder",
          "type": "event"
        },
        "0xcf52e3228bc482a6656d8ab56c09888b1c5bf6aaadba0185e96a34836f2bb1d4": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "datasetHash",
              "type": "bytes32"
            }
          ],
          "name": "ClosedDatasetOrder",
          "type": "event"
        },
        "0x582f43f2a741cbe708aae3b8d38a4efc3d09d7e81919697b3ca693f4c444cc05": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "requestHash",
              "type": "bytes32"
            }
          ],
          "name": "ClosedRequestOrder",
          "type": "event"
        },
        "0x145ad51e4496173bca15e24e7eb46f9ab3a10eea0497e2801a3a6806c06113a3": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "workerpoolHash",
              "type": "bytes32"
            }
          ],
          "name": "ClosedWorkerpoolOrder",
          "type": "event"
        },
        "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "address",
              "name": "previousOwner",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "newOwner",
              "type": "address"
            }
          ],
          "name": "OwnershipTransferred",
          "type": "event"
        },
        "0x50933cf5a9c44d5ed66b895deb27212aa33d811b46a7b41093e047e213c0bcab": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "appHash",
              "type": "bytes32"
            }
          ],
          "name": "SignedAppOrder",
          "type": "event"
        },
        "0x79ce85909be2c590a728d1634ce6ec8a7cbf815260bacc05387890a313da8130": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "datasetHash",
              "type": "bytes32"
            }
          ],
          "name": "SignedDatasetOrder",
          "type": "event"
        },
        "0x3b0ac04165536d6b11d04220f998c840bd6e439d59c5d8721bba8a4e1fb9ebfd": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "requestHash",
              "type": "bytes32"
            }
          ],
          "name": "SignedRequestOrder",
          "type": "event"
        },
        "0x3a61aabf2ab04790d082ff1e332853b2f66944c2e951a146121f80272812a476": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "workerpoolHash",
              "type": "bytes32"
            }
          ],
          "name": "SignedWorkerpoolOrder",
          "type": "event"
        }
      },
      "links": {},
      "address": "0xfec98B422afeE8163BaFF91a32f0EDb1264603e6"
    }
  },
  "schemaVersion": "3.1.0",
  "updatedAt": "2020-04-21T19:16:56.095Z",
  "networkType": "ethereum",
  "devdoc": {
    "methods": {
      "owner()": {
        "details": "Returns the address of the current owner."
      },
      "renounceOwnership()": {
        "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner.     * NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner."
      },
      "transferOwnership(address)": {
        "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."
      }
    }
  },
  "userdoc": {
    "methods": {
      "manageAppOrder(((address,uint256,uint256,bytes32,address,address,address,bytes32,bytes),uint8,bytes))": {
        "notice": "*************************************************************************                        order management tools                          ***************************************************************************"
      }
    }
  }
}