{
  "contractName": "Store",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "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"
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"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\":{},\"notice\":\"************************************************************************** WARNING: Be carefull when editing this file.                             *                                                                         * If you want add new variables for expanded features, add them at the     * end, or (better?) create a Store_v2 that inherits from this Store.       *                                                                         * If in doubt, read about ERC1538 memory store.                            ****************************************************************************\"}},\"settings\":{\"compilationTarget\":{\"/home/amxx/Work/iExec/code/PoCo-dev/contracts/Store.sol\":\"Store\"},\"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/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/ERC1538/ERC1538Store.sol\":{\"keccak256\":\"0x4d1e8821dc216013f20044bbf82df3c2ab2c739d1b2ce4d90c15cb65f85707d8\",\"urls\":[\"bzz-raw://e36d4db70862f87b8657c19330f0d45e8e7018ebcf3df97525638c8caa919d2b\",\"dweb:/ipfs/QmZqsrXPsyRkRkjuupKG2SYsyUTBXqe7nkkCy7RKxDKz1L\"]},\"@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": "0x",
  "deployedBytecode": "0x",
  "immutableReferences": {},
  "sourceMap": "",
  "deployedSourceMap": "",
  "source": "pragma solidity ^0.6.0;\n\nimport \"@iexec/interface/contracts/IexecHub.sol\";\nimport \"@iexec/solidity/contracts/Libs/SafeMathExtended.sol\";\nimport \"@iexec/solidity/contracts/ERC1538/ERC1538Store.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\n\nimport \"./libs/IexecLibCore_v5.sol\";\nimport \"./libs/IexecLibOrders_v5.sol\";\nimport \"./registries/apps/App.sol\";\nimport \"./registries/datasets/Dataset.sol\";\nimport \"./registries/workerpools/Workerpool.sol\";\nimport \"./registries/IRegistry.sol\";\n\n/****************************************************************************\n * WARNING: Be carefull when editing this file.                             *\n *                                                                          *\n * If you want add new variables for expanded features, add them at the     *\n * end, or (better?) create a Store_v2 that inherits from this Store.       *\n *                                                                          *\n * If in doubt, read about ERC1538 memory store.                            *\n ****************************************************************************/\n\nabstract contract Store is ERC1538Store\n{\n\t// Registries\n\tIRegistry internal m_appregistry;\n\tIRegistry internal m_datasetregistry;\n\tIRegistry internal m_workerpoolregistry;\n\n\t// Escrow\n\tIERC20  internal m_baseToken;\n\tstring  internal m_name;\n\tstring  internal m_symbol;\n\tuint8   internal m_decimals;\n\tuint256 internal m_totalSupply;\n\tmapping (address =>                     uint256 ) internal m_balances;\n\tmapping (address =>                     uint256 ) internal m_frozens;\n\tmapping (address => mapping (address => uint256)) internal m_allowances;\n\n\t// Poco - Constants\n\tuint256 internal constant CONTRIBUTION_DEADLINE_RATIO = 7;\n\tuint256 internal constant REVEAL_DEADLINE_RATIO       = 2;\n\tuint256 internal constant FINAL_DEADLINE_RATIO        = 10;\n\tuint256 internal constant WORKERPOOL_STAKE_RATIO      = 30;\n\tuint256 internal constant KITTY_RATIO                 = 10;\n\tuint256 internal constant KITTY_MIN                   = 1000000000; // ADJUSTEMENT VARIABLE\n\taddress internal constant KITTY_ADDRESS               = 0x99c2268479b93fDe36232351229815DF80837e23; // address(uint256(keccak256(bytes('iExecKitty'))) - 1);\n\tuint256 internal constant GROUPMEMBER_PURPOSE         = 4;\n\tbytes32 internal          EIP712DOMAIN_SEPARATOR;\n\n\t// Poco - Storage\n\tmapping(bytes32 =>                    address                      ) internal m_presigned;     // per order\n\tmapping(bytes32 =>                    uint256                      ) internal m_consumed;      // per order\n\tmapping(bytes32 =>                    IexecLibCore_v5.Deal         ) internal m_deals;         // per deal\n\tmapping(bytes32 =>                    IexecLibCore_v5.Task         ) internal m_tasks;         // per task\n\tmapping(bytes32 =>                    IexecLibCore_v5.Consensus    ) internal m_consensus;     // per task\n\tmapping(bytes32 => mapping(address => IexecLibCore_v5.Contribution)) internal m_contributions; // per task-worker\n\tmapping(address =>                    uint256                      ) internal m_workerScores;  // per worker\n\n\t// Poco - Settings\n\taddress internal m_teebroker;\n\tuint256 internal m_callbackgas;\n\n\t// Categories\n\tIexecLibCore_v5.Category[] internal m_categories;\n\n\t// Backward compatibility\n\tIexecHubInterface internal m_v3_iexecHub;\n\tmapping(address => bool) internal m_v3_scoreImported;\n}\n",
  "sourcePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/Store.sol",
  "ast": {
    "absolutePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/Store.sol",
    "exportedSymbols": {
      "Store": [
        268
      ]
    },
    "id": 269,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 155,
        "literals": [
          "solidity",
          "^",
          "0.6",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:23:4"
      },
      {
        "absolutePath": "@iexec/interface/contracts/IexecHub.sol",
        "file": "@iexec/interface/contracts/IexecHub.sol",
        "id": 156,
        "nodeType": "ImportDirective",
        "scope": 269,
        "sourceUnit": 9511,
        "src": "25:49:4",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "@iexec/solidity/contracts/Libs/SafeMathExtended.sol",
        "file": "@iexec/solidity/contracts/Libs/SafeMathExtended.sol",
        "id": 157,
        "nodeType": "ImportDirective",
        "scope": 269,
        "sourceUnit": 10555,
        "src": "75:61:4",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "@iexec/solidity/contracts/ERC1538/ERC1538Store.sol",
        "file": "@iexec/solidity/contracts/ERC1538/ERC1538Store.sol",
        "id": 158,
        "nodeType": "ImportDirective",
        "scope": 269,
        "sourceUnit": 10183,
        "src": "137:60:4",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol",
        "file": "@openzeppelin/contracts/token/ERC20/IERC20.sol",
        "id": 159,
        "nodeType": "ImportDirective",
        "scope": 269,
        "sourceUnit": 11204,
        "src": "198:56:4",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/libs/IexecLibCore_v5.sol",
        "file": "./libs/IexecLibCore_v5.sol",
        "id": 160,
        "nodeType": "ImportDirective",
        "scope": 269,
        "sourceUnit": 381,
        "src": "256:36:4",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/libs/IexecLibOrders_v5.sol",
        "file": "./libs/IexecLibOrders_v5.sol",
        "id": 161,
        "nodeType": "ImportDirective",
        "scope": 269,
        "sourceUnit": 816,
        "src": "293:38:4",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/registries/apps/App.sol",
        "file": "./registries/apps/App.sol",
        "id": 162,
        "nodeType": "ImportDirective",
        "scope": 269,
        "sourceUnit": 8138,
        "src": "332:35:4",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/registries/datasets/Dataset.sol",
        "file": "./registries/datasets/Dataset.sol",
        "id": 163,
        "nodeType": "ImportDirective",
        "scope": 269,
        "sourceUnit": 8289,
        "src": "368:43:4",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/registries/workerpools/Workerpool.sol",
        "file": "./registries/workerpools/Workerpool.sol",
        "id": 164,
        "nodeType": "ImportDirective",
        "scope": 269,
        "sourceUnit": 8460,
        "src": "412:49:4",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/registries/IRegistry.sol",
        "file": "./registries/IRegistry.sol",
        "id": 165,
        "nodeType": "ImportDirective",
        "scope": 269,
        "sourceUnit": 7781,
        "src": "462:36:4",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": true,
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 167,
              "name": "ERC1538Store",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 10182,
              "src": "1153:12:4",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ERC1538Store_$10182",
                "typeString": "contract ERC1538Store"
              }
            },
            "id": 168,
            "nodeType": "InheritanceSpecifier",
            "src": "1153:12:4"
          }
        ],
        "contractDependencies": [
          10182,
          10752,
          10861
        ],
        "contractKind": "contract",
        "documentation": {
          "id": 166,
          "nodeType": "StructuredDocumentation",
          "src": "500:624:4",
          "text": "**************************************************************************\nWARNING: Be carefull when editing this file.                             *\n                                                                         *\nIf you want add new variables for expanded features, add them at the     *\nend, or (better?) create a Store_v2 that inherits from this Store.       *\n                                                                         *\nIf in doubt, read about ERC1538 memory store.                            ****************************************************************************"
        },
        "fullyImplemented": true,
        "id": 268,
        "linearizedBaseContracts": [
          268,
          10182,
          10861,
          10752
        ],
        "name": "Store",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 170,
            "mutability": "mutable",
            "name": "m_appregistry",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "1184:32:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_IRegistry_$7780",
              "typeString": "contract IRegistry"
            },
            "typeName": {
              "contractScope": null,
              "id": 169,
              "name": "IRegistry",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 7780,
              "src": "1184:9:4",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IRegistry_$7780",
                "typeString": "contract IRegistry"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 172,
            "mutability": "mutable",
            "name": "m_datasetregistry",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "1219:36:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_IRegistry_$7780",
              "typeString": "contract IRegistry"
            },
            "typeName": {
              "contractScope": null,
              "id": 171,
              "name": "IRegistry",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 7780,
              "src": "1219:9:4",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IRegistry_$7780",
                "typeString": "contract IRegistry"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 174,
            "mutability": "mutable",
            "name": "m_workerpoolregistry",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "1258:39:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_IRegistry_$7780",
              "typeString": "contract IRegistry"
            },
            "typeName": {
              "contractScope": null,
              "id": 173,
              "name": "IRegistry",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 7780,
              "src": "1258:9:4",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IRegistry_$7780",
                "typeString": "contract IRegistry"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 176,
            "mutability": "mutable",
            "name": "m_baseToken",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "1312:28:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_IERC20_$11203",
              "typeString": "contract IERC20"
            },
            "typeName": {
              "contractScope": null,
              "id": 175,
              "name": "IERC20",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 11203,
              "src": "1312:6:4",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IERC20_$11203",
                "typeString": "contract IERC20"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 178,
            "mutability": "mutable",
            "name": "m_name",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "1343:23:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_storage",
              "typeString": "string"
            },
            "typeName": {
              "id": 177,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "1343:6:4",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 180,
            "mutability": "mutable",
            "name": "m_symbol",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "1369:25:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_storage",
              "typeString": "string"
            },
            "typeName": {
              "id": 179,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "1369:6:4",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 182,
            "mutability": "mutable",
            "name": "m_decimals",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "1397:27:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint8",
              "typeString": "uint8"
            },
            "typeName": {
              "id": 181,
              "name": "uint8",
              "nodeType": "ElementaryTypeName",
              "src": "1397:5:4",
              "typeDescriptions": {
                "typeIdentifier": "t_uint8",
                "typeString": "uint8"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 184,
            "mutability": "mutable",
            "name": "m_totalSupply",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "1427:30:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 183,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1427:7:4",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 188,
            "mutability": "mutable",
            "name": "m_balances",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "1460:69:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
              "typeString": "mapping(address => uint256)"
            },
            "typeName": {
              "id": 187,
              "keyType": {
                "id": 185,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "1469:7:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "1460:49:4",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                "typeString": "mapping(address => uint256)"
              },
              "valueType": {
                "id": 186,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "1500:7:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 192,
            "mutability": "mutable",
            "name": "m_frozens",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "1532:68:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
              "typeString": "mapping(address => uint256)"
            },
            "typeName": {
              "id": 191,
              "keyType": {
                "id": 189,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "1541:7:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "1532:49:4",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                "typeString": "mapping(address => uint256)"
              },
              "valueType": {
                "id": 190,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "1572:7:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 198,
            "mutability": "mutable",
            "name": "m_allowances",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "1603:71:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
              "typeString": "mapping(address => mapping(address => uint256))"
            },
            "typeName": {
              "id": 197,
              "keyType": {
                "id": 193,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "1612:7:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "1603:49:4",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
                "typeString": "mapping(address => mapping(address => uint256))"
              },
              "valueType": {
                "id": 196,
                "keyType": {
                  "id": 194,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "1632:7:4",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "nodeType": "Mapping",
                "src": "1623:28:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                  "typeString": "mapping(address => uint256)"
                },
                "valueType": {
                  "id": 195,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1643:7:4",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                }
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 201,
            "mutability": "constant",
            "name": "CONTRIBUTION_DEADLINE_RATIO",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "1699:57:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 199,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1699:7:4",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "37",
              "id": 200,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1755:1:4",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_7_by_1",
                "typeString": "int_const 7"
              },
              "value": "7"
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 204,
            "mutability": "constant",
            "name": "REVEAL_DEADLINE_RATIO",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "1759:57:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 202,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1759:7:4",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "32",
              "id": 203,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1815:1:4",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_2_by_1",
                "typeString": "int_const 2"
              },
              "value": "2"
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 207,
            "mutability": "constant",
            "name": "FINAL_DEADLINE_RATIO",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "1819:58:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 205,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1819:7:4",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "3130",
              "id": 206,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1875:2:4",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_10_by_1",
                "typeString": "int_const 10"
              },
              "value": "10"
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 210,
            "mutability": "constant",
            "name": "WORKERPOOL_STAKE_RATIO",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "1880:58:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 208,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1880:7:4",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "3330",
              "id": 209,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1936:2:4",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_30_by_1",
                "typeString": "int_const 30"
              },
              "value": "30"
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 213,
            "mutability": "constant",
            "name": "KITTY_RATIO",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "1941:58:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 211,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1941:7:4",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "3130",
              "id": 212,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1997:2:4",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_10_by_1",
                "typeString": "int_const 10"
              },
              "value": "10"
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 216,
            "mutability": "constant",
            "name": "KITTY_MIN",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "2002:66:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 214,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "2002:7:4",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "31303030303030303030",
              "id": 215,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "2058:10:4",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_1000000000_by_1",
                "typeString": "int_const 1000000000"
              },
              "value": "1000000000"
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 219,
            "mutability": "constant",
            "name": "KITTY_ADDRESS",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "2095:98:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 217,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "2095:7:4",
              "stateMutability": "nonpayable",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "307839396332323638343739623933664465333632333233353132323938313544463830383337653233",
              "id": 218,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "2151:42:4",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_address_payable",
                "typeString": "address payable"
              },
              "value": "0x99c2268479b93fDe36232351229815DF80837e23"
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 222,
            "mutability": "constant",
            "name": "GROUPMEMBER_PURPOSE",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "2253:57:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 220,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "2253:7:4",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "34",
              "id": 221,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "2309:1:4",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_4_by_1",
                "typeString": "int_const 4"
              },
              "value": "4"
            },
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 224,
            "mutability": "mutable",
            "name": "EIP712DOMAIN_SEPARATOR",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "2313:48:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 223,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "2313:7:4",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 228,
            "mutability": "mutable",
            "name": "m_presigned",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "2384:89:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$",
              "typeString": "mapping(bytes32 => address)"
            },
            "typeName": {
              "id": 227,
              "keyType": {
                "id": 225,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "2392:7:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "2384:68:4",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$",
                "typeString": "mapping(bytes32 => address)"
              },
              "valueType": {
                "id": 226,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "2422:7:4",
                "stateMutability": "nonpayable",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 232,
            "mutability": "mutable",
            "name": "m_consumed",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "2493:88:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
              "typeString": "mapping(bytes32 => uint256)"
            },
            "typeName": {
              "id": 231,
              "keyType": {
                "id": 229,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "2501:7:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "2493:68:4",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                "typeString": "mapping(bytes32 => uint256)"
              },
              "valueType": {
                "id": 230,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "2531:7:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 236,
            "mutability": "mutable",
            "name": "m_deals",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "2602:85:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Deal_$320_storage_$",
              "typeString": "mapping(bytes32 => struct IexecLibCore_v5.Deal)"
            },
            "typeName": {
              "id": 235,
              "keyType": {
                "id": 233,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "2610:7:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "2602:68:4",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Deal_$320_storage_$",
                "typeString": "mapping(bytes32 => struct IexecLibCore_v5.Deal)"
              },
              "valueType": {
                "contractScope": null,
                "id": 234,
                "name": "IexecLibCore_v5.Deal",
                "nodeType": "UserDefinedTypeName",
                "referencedDeclaration": 320,
                "src": "2640:20:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Deal_$320_storage_ptr",
                  "typeString": "struct IexecLibCore_v5.Deal"
                }
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 240,
            "mutability": "mutable",
            "name": "m_tasks",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "2710:85:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Task_$356_storage_$",
              "typeString": "mapping(bytes32 => struct IexecLibCore_v5.Task)"
            },
            "typeName": {
              "id": 239,
              "keyType": {
                "id": 237,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "2718:7:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "2710:68:4",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Task_$356_storage_$",
                "typeString": "mapping(bytes32 => struct IexecLibCore_v5.Task)"
              },
              "valueType": {
                "contractScope": null,
                "id": 238,
                "name": "IexecLibCore_v5.Task",
                "nodeType": "UserDefinedTypeName",
                "referencedDeclaration": 356,
                "src": "2748:20:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Task_$356_storage_ptr",
                  "typeString": "struct IexecLibCore_v5.Task"
                }
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 244,
            "mutability": "mutable",
            "name": "m_consensus",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "2818:89:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Consensus_$363_storage_$",
              "typeString": "mapping(bytes32 => struct IexecLibCore_v5.Consensus)"
            },
            "typeName": {
              "id": 243,
              "keyType": {
                "id": 241,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "2826:7:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "2818:68:4",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Consensus_$363_storage_$",
                "typeString": "mapping(bytes32 => struct IexecLibCore_v5.Consensus)"
              },
              "valueType": {
                "contractScope": null,
                "id": 242,
                "name": "IexecLibCore_v5.Consensus",
                "nodeType": "UserDefinedTypeName",
                "referencedDeclaration": 363,
                "src": "2856:25:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Consensus_$363_storage_ptr",
                  "typeString": "struct IexecLibCore_v5.Consensus"
                }
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 250,
            "mutability": "mutable",
            "name": "m_contributions",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "2926:93:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_struct$_Contribution_$379_storage_$_$",
              "typeString": "mapping(bytes32 => mapping(address => struct IexecLibCore_v5.Contribution))"
            },
            "typeName": {
              "id": 249,
              "keyType": {
                "id": 245,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "2934:7:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "2926:68:4",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_struct$_Contribution_$379_storage_$_$",
                "typeString": "mapping(bytes32 => mapping(address => struct IexecLibCore_v5.Contribution))"
              },
              "valueType": {
                "id": 248,
                "keyType": {
                  "id": 246,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "2953:7:4",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "nodeType": "Mapping",
                "src": "2945:48:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$379_storage_$",
                  "typeString": "mapping(address => struct IexecLibCore_v5.Contribution)"
                },
                "valueType": {
                  "contractScope": null,
                  "id": 247,
                  "name": "IexecLibCore_v5.Contribution",
                  "nodeType": "UserDefinedTypeName",
                  "referencedDeclaration": 379,
                  "src": "2964:28:4",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Contribution_$379_storage_ptr",
                    "typeString": "struct IexecLibCore_v5.Contribution"
                  }
                }
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 254,
            "mutability": "mutable",
            "name": "m_workerScores",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "3041:92:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
              "typeString": "mapping(address => uint256)"
            },
            "typeName": {
              "id": 253,
              "keyType": {
                "id": 251,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "3049:7:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "3041:68:4",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                "typeString": "mapping(address => uint256)"
              },
              "valueType": {
                "id": 252,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "3079:7:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 256,
            "mutability": "mutable",
            "name": "m_teebroker",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "3172:28:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 255,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "3172:7:4",
              "stateMutability": "nonpayable",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 258,
            "mutability": "mutable",
            "name": "m_callbackgas",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "3203:30:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 257,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "3203:7:4",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 261,
            "mutability": "mutable",
            "name": "m_categories",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "3252:48:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_array$_t_struct$_Category_$282_storage_$dyn_storage",
              "typeString": "struct IexecLibCore_v5.Category[]"
            },
            "typeName": {
              "baseType": {
                "contractScope": null,
                "id": 259,
                "name": "IexecLibCore_v5.Category",
                "nodeType": "UserDefinedTypeName",
                "referencedDeclaration": 282,
                "src": "3252:24:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Category_$282_storage_ptr",
                  "typeString": "struct IexecLibCore_v5.Category"
                }
              },
              "id": 260,
              "length": null,
              "nodeType": "ArrayTypeName",
              "src": "3252:26:4",
              "typeDescriptions": {
                "typeIdentifier": "t_array$_t_struct$_Category_$282_storage_$dyn_storage_ptr",
                "typeString": "struct IexecLibCore_v5.Category[]"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 263,
            "mutability": "mutable",
            "name": "m_v3_iexecHub",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "3331:40:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_IexecHubInterface_$9510",
              "typeString": "contract IexecHubInterface"
            },
            "typeName": {
              "contractScope": null,
              "id": 262,
              "name": "IexecHubInterface",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 9510,
              "src": "3331:17:4",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IexecHubInterface_$9510",
                "typeString": "contract IexecHubInterface"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 267,
            "mutability": "mutable",
            "name": "m_v3_scoreImported",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "3374:52:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
              "typeString": "mapping(address => bool)"
            },
            "typeName": {
              "id": 266,
              "keyType": {
                "id": 264,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "3382:7:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "3374:24:4",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                "typeString": "mapping(address => bool)"
              },
              "valueType": {
                "id": 265,
                "name": "bool",
                "nodeType": "ElementaryTypeName",
                "src": "3393:4:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_bool",
                  "typeString": "bool"
                }
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 269,
        "src": "1126:2303:4"
      }
    ],
    "src": "0:3430:4"
  },
  "legacyAST": {
    "absolutePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/Store.sol",
    "exportedSymbols": {
      "Store": [
        268
      ]
    },
    "id": 269,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 155,
        "literals": [
          "solidity",
          "^",
          "0.6",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:23:4"
      },
      {
        "absolutePath": "@iexec/interface/contracts/IexecHub.sol",
        "file": "@iexec/interface/contracts/IexecHub.sol",
        "id": 156,
        "nodeType": "ImportDirective",
        "scope": 269,
        "sourceUnit": 9511,
        "src": "25:49:4",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "@iexec/solidity/contracts/Libs/SafeMathExtended.sol",
        "file": "@iexec/solidity/contracts/Libs/SafeMathExtended.sol",
        "id": 157,
        "nodeType": "ImportDirective",
        "scope": 269,
        "sourceUnit": 10555,
        "src": "75:61:4",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "@iexec/solidity/contracts/ERC1538/ERC1538Store.sol",
        "file": "@iexec/solidity/contracts/ERC1538/ERC1538Store.sol",
        "id": 158,
        "nodeType": "ImportDirective",
        "scope": 269,
        "sourceUnit": 10183,
        "src": "137:60:4",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol",
        "file": "@openzeppelin/contracts/token/ERC20/IERC20.sol",
        "id": 159,
        "nodeType": "ImportDirective",
        "scope": 269,
        "sourceUnit": 11204,
        "src": "198:56:4",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/libs/IexecLibCore_v5.sol",
        "file": "./libs/IexecLibCore_v5.sol",
        "id": 160,
        "nodeType": "ImportDirective",
        "scope": 269,
        "sourceUnit": 381,
        "src": "256:36:4",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/libs/IexecLibOrders_v5.sol",
        "file": "./libs/IexecLibOrders_v5.sol",
        "id": 161,
        "nodeType": "ImportDirective",
        "scope": 269,
        "sourceUnit": 816,
        "src": "293:38:4",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/registries/apps/App.sol",
        "file": "./registries/apps/App.sol",
        "id": 162,
        "nodeType": "ImportDirective",
        "scope": 269,
        "sourceUnit": 8138,
        "src": "332:35:4",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/registries/datasets/Dataset.sol",
        "file": "./registries/datasets/Dataset.sol",
        "id": 163,
        "nodeType": "ImportDirective",
        "scope": 269,
        "sourceUnit": 8289,
        "src": "368:43:4",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/registries/workerpools/Workerpool.sol",
        "file": "./registries/workerpools/Workerpool.sol",
        "id": 164,
        "nodeType": "ImportDirective",
        "scope": 269,
        "sourceUnit": 8460,
        "src": "412:49:4",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/registries/IRegistry.sol",
        "file": "./registries/IRegistry.sol",
        "id": 165,
        "nodeType": "ImportDirective",
        "scope": 269,
        "sourceUnit": 7781,
        "src": "462:36:4",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": true,
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 167,
              "name": "ERC1538Store",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 10182,
              "src": "1153:12:4",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ERC1538Store_$10182",
                "typeString": "contract ERC1538Store"
              }
            },
            "id": 168,
            "nodeType": "InheritanceSpecifier",
            "src": "1153:12:4"
          }
        ],
        "contractDependencies": [
          10182,
          10752,
          10861
        ],
        "contractKind": "contract",
        "documentation": {
          "id": 166,
          "nodeType": "StructuredDocumentation",
          "src": "500:624:4",
          "text": "**************************************************************************\nWARNING: Be carefull when editing this file.                             *\n                                                                         *\nIf you want add new variables for expanded features, add them at the     *\nend, or (better?) create a Store_v2 that inherits from this Store.       *\n                                                                         *\nIf in doubt, read about ERC1538 memory store.                            ****************************************************************************"
        },
        "fullyImplemented": true,
        "id": 268,
        "linearizedBaseContracts": [
          268,
          10182,
          10861,
          10752
        ],
        "name": "Store",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 170,
            "mutability": "mutable",
            "name": "m_appregistry",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "1184:32:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_IRegistry_$7780",
              "typeString": "contract IRegistry"
            },
            "typeName": {
              "contractScope": null,
              "id": 169,
              "name": "IRegistry",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 7780,
              "src": "1184:9:4",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IRegistry_$7780",
                "typeString": "contract IRegistry"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 172,
            "mutability": "mutable",
            "name": "m_datasetregistry",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "1219:36:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_IRegistry_$7780",
              "typeString": "contract IRegistry"
            },
            "typeName": {
              "contractScope": null,
              "id": 171,
              "name": "IRegistry",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 7780,
              "src": "1219:9:4",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IRegistry_$7780",
                "typeString": "contract IRegistry"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 174,
            "mutability": "mutable",
            "name": "m_workerpoolregistry",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "1258:39:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_IRegistry_$7780",
              "typeString": "contract IRegistry"
            },
            "typeName": {
              "contractScope": null,
              "id": 173,
              "name": "IRegistry",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 7780,
              "src": "1258:9:4",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IRegistry_$7780",
                "typeString": "contract IRegistry"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 176,
            "mutability": "mutable",
            "name": "m_baseToken",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "1312:28:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_IERC20_$11203",
              "typeString": "contract IERC20"
            },
            "typeName": {
              "contractScope": null,
              "id": 175,
              "name": "IERC20",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 11203,
              "src": "1312:6:4",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IERC20_$11203",
                "typeString": "contract IERC20"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 178,
            "mutability": "mutable",
            "name": "m_name",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "1343:23:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_storage",
              "typeString": "string"
            },
            "typeName": {
              "id": 177,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "1343:6:4",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 180,
            "mutability": "mutable",
            "name": "m_symbol",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "1369:25:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_storage",
              "typeString": "string"
            },
            "typeName": {
              "id": 179,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "1369:6:4",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 182,
            "mutability": "mutable",
            "name": "m_decimals",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "1397:27:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint8",
              "typeString": "uint8"
            },
            "typeName": {
              "id": 181,
              "name": "uint8",
              "nodeType": "ElementaryTypeName",
              "src": "1397:5:4",
              "typeDescriptions": {
                "typeIdentifier": "t_uint8",
                "typeString": "uint8"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 184,
            "mutability": "mutable",
            "name": "m_totalSupply",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "1427:30:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 183,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1427:7:4",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 188,
            "mutability": "mutable",
            "name": "m_balances",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "1460:69:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
              "typeString": "mapping(address => uint256)"
            },
            "typeName": {
              "id": 187,
              "keyType": {
                "id": 185,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "1469:7:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "1460:49:4",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                "typeString": "mapping(address => uint256)"
              },
              "valueType": {
                "id": 186,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "1500:7:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 192,
            "mutability": "mutable",
            "name": "m_frozens",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "1532:68:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
              "typeString": "mapping(address => uint256)"
            },
            "typeName": {
              "id": 191,
              "keyType": {
                "id": 189,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "1541:7:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "1532:49:4",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                "typeString": "mapping(address => uint256)"
              },
              "valueType": {
                "id": 190,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "1572:7:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 198,
            "mutability": "mutable",
            "name": "m_allowances",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "1603:71:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
              "typeString": "mapping(address => mapping(address => uint256))"
            },
            "typeName": {
              "id": 197,
              "keyType": {
                "id": 193,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "1612:7:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "1603:49:4",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
                "typeString": "mapping(address => mapping(address => uint256))"
              },
              "valueType": {
                "id": 196,
                "keyType": {
                  "id": 194,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "1632:7:4",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "nodeType": "Mapping",
                "src": "1623:28:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                  "typeString": "mapping(address => uint256)"
                },
                "valueType": {
                  "id": 195,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1643:7:4",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                }
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 201,
            "mutability": "constant",
            "name": "CONTRIBUTION_DEADLINE_RATIO",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "1699:57:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 199,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1699:7:4",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "37",
              "id": 200,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1755:1:4",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_7_by_1",
                "typeString": "int_const 7"
              },
              "value": "7"
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 204,
            "mutability": "constant",
            "name": "REVEAL_DEADLINE_RATIO",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "1759:57:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 202,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1759:7:4",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "32",
              "id": 203,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1815:1:4",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_2_by_1",
                "typeString": "int_const 2"
              },
              "value": "2"
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 207,
            "mutability": "constant",
            "name": "FINAL_DEADLINE_RATIO",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "1819:58:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 205,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1819:7:4",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "3130",
              "id": 206,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1875:2:4",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_10_by_1",
                "typeString": "int_const 10"
              },
              "value": "10"
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 210,
            "mutability": "constant",
            "name": "WORKERPOOL_STAKE_RATIO",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "1880:58:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 208,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1880:7:4",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "3330",
              "id": 209,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1936:2:4",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_30_by_1",
                "typeString": "int_const 30"
              },
              "value": "30"
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 213,
            "mutability": "constant",
            "name": "KITTY_RATIO",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "1941:58:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 211,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1941:7:4",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "3130",
              "id": 212,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1997:2:4",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_10_by_1",
                "typeString": "int_const 10"
              },
              "value": "10"
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 216,
            "mutability": "constant",
            "name": "KITTY_MIN",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "2002:66:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 214,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "2002:7:4",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "31303030303030303030",
              "id": 215,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "2058:10:4",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_1000000000_by_1",
                "typeString": "int_const 1000000000"
              },
              "value": "1000000000"
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 219,
            "mutability": "constant",
            "name": "KITTY_ADDRESS",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "2095:98:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 217,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "2095:7:4",
              "stateMutability": "nonpayable",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "307839396332323638343739623933664465333632333233353132323938313544463830383337653233",
              "id": 218,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "2151:42:4",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_address_payable",
                "typeString": "address payable"
              },
              "value": "0x99c2268479b93fDe36232351229815DF80837e23"
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 222,
            "mutability": "constant",
            "name": "GROUPMEMBER_PURPOSE",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "2253:57:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 220,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "2253:7:4",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "34",
              "id": 221,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "2309:1:4",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_4_by_1",
                "typeString": "int_const 4"
              },
              "value": "4"
            },
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 224,
            "mutability": "mutable",
            "name": "EIP712DOMAIN_SEPARATOR",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "2313:48:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 223,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "2313:7:4",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 228,
            "mutability": "mutable",
            "name": "m_presigned",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "2384:89:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$",
              "typeString": "mapping(bytes32 => address)"
            },
            "typeName": {
              "id": 227,
              "keyType": {
                "id": 225,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "2392:7:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "2384:68:4",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$",
                "typeString": "mapping(bytes32 => address)"
              },
              "valueType": {
                "id": 226,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "2422:7:4",
                "stateMutability": "nonpayable",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 232,
            "mutability": "mutable",
            "name": "m_consumed",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "2493:88:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
              "typeString": "mapping(bytes32 => uint256)"
            },
            "typeName": {
              "id": 231,
              "keyType": {
                "id": 229,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "2501:7:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "2493:68:4",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                "typeString": "mapping(bytes32 => uint256)"
              },
              "valueType": {
                "id": 230,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "2531:7:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 236,
            "mutability": "mutable",
            "name": "m_deals",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "2602:85:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Deal_$320_storage_$",
              "typeString": "mapping(bytes32 => struct IexecLibCore_v5.Deal)"
            },
            "typeName": {
              "id": 235,
              "keyType": {
                "id": 233,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "2610:7:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "2602:68:4",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Deal_$320_storage_$",
                "typeString": "mapping(bytes32 => struct IexecLibCore_v5.Deal)"
              },
              "valueType": {
                "contractScope": null,
                "id": 234,
                "name": "IexecLibCore_v5.Deal",
                "nodeType": "UserDefinedTypeName",
                "referencedDeclaration": 320,
                "src": "2640:20:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Deal_$320_storage_ptr",
                  "typeString": "struct IexecLibCore_v5.Deal"
                }
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 240,
            "mutability": "mutable",
            "name": "m_tasks",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "2710:85:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Task_$356_storage_$",
              "typeString": "mapping(bytes32 => struct IexecLibCore_v5.Task)"
            },
            "typeName": {
              "id": 239,
              "keyType": {
                "id": 237,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "2718:7:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "2710:68:4",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Task_$356_storage_$",
                "typeString": "mapping(bytes32 => struct IexecLibCore_v5.Task)"
              },
              "valueType": {
                "contractScope": null,
                "id": 238,
                "name": "IexecLibCore_v5.Task",
                "nodeType": "UserDefinedTypeName",
                "referencedDeclaration": 356,
                "src": "2748:20:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Task_$356_storage_ptr",
                  "typeString": "struct IexecLibCore_v5.Task"
                }
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 244,
            "mutability": "mutable",
            "name": "m_consensus",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "2818:89:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Consensus_$363_storage_$",
              "typeString": "mapping(bytes32 => struct IexecLibCore_v5.Consensus)"
            },
            "typeName": {
              "id": 243,
              "keyType": {
                "id": 241,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "2826:7:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "2818:68:4",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Consensus_$363_storage_$",
                "typeString": "mapping(bytes32 => struct IexecLibCore_v5.Consensus)"
              },
              "valueType": {
                "contractScope": null,
                "id": 242,
                "name": "IexecLibCore_v5.Consensus",
                "nodeType": "UserDefinedTypeName",
                "referencedDeclaration": 363,
                "src": "2856:25:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Consensus_$363_storage_ptr",
                  "typeString": "struct IexecLibCore_v5.Consensus"
                }
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 250,
            "mutability": "mutable",
            "name": "m_contributions",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "2926:93:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_struct$_Contribution_$379_storage_$_$",
              "typeString": "mapping(bytes32 => mapping(address => struct IexecLibCore_v5.Contribution))"
            },
            "typeName": {
              "id": 249,
              "keyType": {
                "id": 245,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "2934:7:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "2926:68:4",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_struct$_Contribution_$379_storage_$_$",
                "typeString": "mapping(bytes32 => mapping(address => struct IexecLibCore_v5.Contribution))"
              },
              "valueType": {
                "id": 248,
                "keyType": {
                  "id": 246,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "2953:7:4",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "nodeType": "Mapping",
                "src": "2945:48:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$379_storage_$",
                  "typeString": "mapping(address => struct IexecLibCore_v5.Contribution)"
                },
                "valueType": {
                  "contractScope": null,
                  "id": 247,
                  "name": "IexecLibCore_v5.Contribution",
                  "nodeType": "UserDefinedTypeName",
                  "referencedDeclaration": 379,
                  "src": "2964:28:4",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Contribution_$379_storage_ptr",
                    "typeString": "struct IexecLibCore_v5.Contribution"
                  }
                }
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 254,
            "mutability": "mutable",
            "name": "m_workerScores",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "3041:92:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
              "typeString": "mapping(address => uint256)"
            },
            "typeName": {
              "id": 253,
              "keyType": {
                "id": 251,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "3049:7:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "3041:68:4",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                "typeString": "mapping(address => uint256)"
              },
              "valueType": {
                "id": 252,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "3079:7:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 256,
            "mutability": "mutable",
            "name": "m_teebroker",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "3172:28:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 255,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "3172:7:4",
              "stateMutability": "nonpayable",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 258,
            "mutability": "mutable",
            "name": "m_callbackgas",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "3203:30:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 257,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "3203:7:4",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 261,
            "mutability": "mutable",
            "name": "m_categories",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "3252:48:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_array$_t_struct$_Category_$282_storage_$dyn_storage",
              "typeString": "struct IexecLibCore_v5.Category[]"
            },
            "typeName": {
              "baseType": {
                "contractScope": null,
                "id": 259,
                "name": "IexecLibCore_v5.Category",
                "nodeType": "UserDefinedTypeName",
                "referencedDeclaration": 282,
                "src": "3252:24:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Category_$282_storage_ptr",
                  "typeString": "struct IexecLibCore_v5.Category"
                }
              },
              "id": 260,
              "length": null,
              "nodeType": "ArrayTypeName",
              "src": "3252:26:4",
              "typeDescriptions": {
                "typeIdentifier": "t_array$_t_struct$_Category_$282_storage_$dyn_storage_ptr",
                "typeString": "struct IexecLibCore_v5.Category[]"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 263,
            "mutability": "mutable",
            "name": "m_v3_iexecHub",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "3331:40:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_IexecHubInterface_$9510",
              "typeString": "contract IexecHubInterface"
            },
            "typeName": {
              "contractScope": null,
              "id": 262,
              "name": "IexecHubInterface",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 9510,
              "src": "3331:17:4",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IexecHubInterface_$9510",
                "typeString": "contract IexecHubInterface"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 267,
            "mutability": "mutable",
            "name": "m_v3_scoreImported",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 268,
            "src": "3374:52:4",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
              "typeString": "mapping(address => bool)"
            },
            "typeName": {
              "id": 266,
              "keyType": {
                "id": 264,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "3382:7:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "3374:24:4",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                "typeString": "mapping(address => bool)"
              },
              "valueType": {
                "id": 265,
                "name": "bool",
                "nodeType": "ElementaryTypeName",
                "src": "3393:4:4",
                "typeDescriptions": {
                  "typeIdentifier": "t_bool",
                  "typeString": "bool"
                }
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 269,
        "src": "1126:2303:4"
      }
    ],
    "src": "0:3430:4"
  },
  "compiler": {
    "name": "solc",
    "version": "0.6.6+commit.6c089d02.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "3.1.0",
  "updatedAt": "2020-04-21T18:10:34.835Z",
  "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": {},
    "notice": "************************************************************************** WARNING: Be carefull when editing this file.                             *                                                                         * If you want add new variables for expanded features, add them at the     * end, or (better?) create a Store_v2 that inherits from this Store.       *                                                                         * If in doubt, read about ERC1538 memory store.                            ****************************************************************************"
  }
}