{
  "contractName": "ERC1538Store",
  "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\":{}}},\"settings\":{\"compilationTarget\":{\"@iexec/solidity/contracts/ERC1538/ERC1538Store.sol\":\"ERC1538Store\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@iexec/solidity/contracts/ERC1538/ERC1538Store.sol\":{\"keccak256\":\"0x4d1e8821dc216013f20044bbf82df3c2ab2c739d1b2ce4d90c15cb65f85707d8\",\"urls\":[\"bzz-raw://e36d4db70862f87b8657c19330f0d45e8e7018ebcf3df97525638c8caa919d2b\",\"dweb:/ipfs/QmZqsrXPsyRkRkjuupKG2SYsyUTBXqe7nkkCy7RKxDKz1L\"]},\"@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\"]},\"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": "0x608060405260006100176001600160e01b0361006616565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35061006a565b3390565b6102c7806100796000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063715018a6146100465780638da5cb5b14610050578063f2fde38b14610074575b600080fd5b61004e61009a565b005b61005861014e565b604080516001600160a01b039092168252519081900360200190f35b61004e6004803603602081101561008a57600080fd5b50356001600160a01b031661015d565b6100a2610267565b6000546001600160a01b03908116911614610104576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b610165610267565b6000546001600160a01b039081169116146101c7576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b03811661020c5760405162461bcd60e51b815260040180806020018281038252602681526020018061026c6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b339056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a2646970667358221220ba8cfff21cd827fb623054c9165af31dc3ae532617688d4f5af45271be2986c664736f6c63430006060033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063715018a6146100465780638da5cb5b14610050578063f2fde38b14610074575b600080fd5b61004e61009a565b005b61005861014e565b604080516001600160a01b039092168252519081900360200190f35b61004e6004803603602081101561008a57600080fd5b50356001600160a01b031661015d565b6100a2610267565b6000546001600160a01b03908116911614610104576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b610165610267565b6000546001600160a01b039081169116146101c7576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b03811661020c5760405162461bcd60e51b815260040180806020018281038252602681526020018061026c6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b339056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a2646970667358221220ba8cfff21cd827fb623054c9165af31dc3ae532617688d4f5af45271be2986c664736f6c63430006060033",
  "immutableReferences": {},
  "sourceMap": "147:163:58:-:0;;;832:17:66;852:12;-1:-1:-1;;;;;852:10:66;:12;:::i;:::-;874:6;:18;;-1:-1:-1;;;;;;874:18:66;-1:-1:-1;;;;;874:18:66;;;;;;;907:43;;874:18;;-1:-1:-1;874:18:66;907:43;;874:6;;907:43;798:159;147:163:58;;735:104:65;822:10;735:104;:::o;147:163:58:-;;;;;;;",
  "deployedSourceMap": "147:163:58:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;147:163:58;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;1656:145:66;;;:::i;:::-;;1033:77;;;:::i;:::-;;;;-1:-1:-1;;;;;1033:77:66;;;;;;;;;;;;;;1950:240;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1950:240:66;-1:-1:-1;;;;;1950:240:66;;:::i;1656:145::-;1247:12;:10;:12::i;:::-;1237:6;;-1:-1:-1;;;;;1237:6:66;;;:22;;;1229:67;;;;;-1:-1:-1;;;1229:67:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1762:1:::1;1746:6:::0;;1725:40:::1;::::0;-1:-1:-1;;;;;1746:6:66;;::::1;::::0;1725:40:::1;::::0;1762:1;;1725:40:::1;1792:1;1775:19:::0;;-1:-1:-1;;;;;;1775:19:66::1;::::0;;1656:145::o;1033:77::-;1071:7;1097:6;-1:-1:-1;;;;;1097:6:66;1033:77;:::o;1950:240::-;1247:12;:10;:12::i;:::-;1237:6;;-1:-1:-1;;;;;1237:6:66;;;:22;;;1229:67;;;;;-1:-1:-1;;;1229:67:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2038:22:66;::::1;2030:73;;;;-1:-1:-1::0;;;2030:73:66::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2139:6;::::0;;2118:38:::1;::::0;-1:-1:-1;;;;;2118:38:66;;::::1;::::0;2139:6;::::1;::::0;2118:38:::1;::::0;::::1;2166:6;:17:::0;;-1:-1:-1;;;;;;2166:17:66::1;-1:-1:-1::0;;;;;2166:17:66;;;::::1;::::0;;;::::1;::::0;;1950:240::o;735:104:65:-;822:10;735:104;:::o",
  "source": "pragma solidity ^0.6.0;\n\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\nimport \"solstruct/contracts/libs/LibMap2.bytes4.address.bytes.sol\";\n\ncontract ERC1538Store is Ownable\n{\n\tusing LibMap2_bytes4_address_bytes for LibMap2_bytes4_address_bytes.map;\n\n\tLibMap2_bytes4_address_bytes.map internal m_funcs;\n}\n",
  "sourcePath": "@iexec/solidity/contracts/ERC1538/ERC1538Store.sol",
  "ast": {
    "absolutePath": "@iexec/solidity/contracts/ERC1538/ERC1538Store.sol",
    "exportedSymbols": {
      "ERC1538Store": [
        10182
      ]
    },
    "id": 10183,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 10172,
        "literals": [
          "solidity",
          "^",
          "0.6",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:23:58"
      },
      {
        "absolutePath": "@openzeppelin/contracts/access/Ownable.sol",
        "file": "@openzeppelin/contracts/access/Ownable.sol",
        "id": 10173,
        "nodeType": "ImportDirective",
        "scope": 10183,
        "sourceUnit": 10862,
        "src": "25:52:58",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "solstruct/contracts/libs/LibMap2.bytes4.address.bytes.sol",
        "file": "solstruct/contracts/libs/LibMap2.bytes4.address.bytes.sol",
        "id": 10174,
        "nodeType": "ImportDirective",
        "scope": 10183,
        "sourceUnit": 13719,
        "src": "78:67:58",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 10175,
              "name": "Ownable",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 10861,
              "src": "172:7:58",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Ownable_$10861",
                "typeString": "contract Ownable"
              }
            },
            "id": 10176,
            "nodeType": "InheritanceSpecifier",
            "src": "172:7:58"
          }
        ],
        "contractDependencies": [
          10752,
          10861
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 10182,
        "linearizedBaseContracts": [
          10182,
          10861,
          10752
        ],
        "name": "ERC1538Store",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "id": 10179,
            "libraryName": {
              "contractScope": null,
              "id": 10177,
              "name": "LibMap2_bytes4_address_bytes",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 13718,
              "src": "189:28:58",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_LibMap2_bytes4_address_bytes_$13718",
                "typeString": "library LibMap2_bytes4_address_bytes"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "183:72:58",
            "typeName": {
              "contractScope": null,
              "id": 10178,
              "name": "LibMap2_bytes4_address_bytes.map",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 13457,
              "src": "222:32:58",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_map_$13457_storage_ptr",
                "typeString": "struct LibMap2_bytes4_address_bytes.map"
              }
            }
          },
          {
            "constant": false,
            "id": 10181,
            "mutability": "mutable",
            "name": "m_funcs",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 10182,
            "src": "258:49:58",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_struct$_map_$13457_storage",
              "typeString": "struct LibMap2_bytes4_address_bytes.map"
            },
            "typeName": {
              "contractScope": null,
              "id": 10180,
              "name": "LibMap2_bytes4_address_bytes.map",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 13457,
              "src": "258:32:58",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_map_$13457_storage_ptr",
                "typeString": "struct LibMap2_bytes4_address_bytes.map"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 10183,
        "src": "147:163:58"
      }
    ],
    "src": "0:311:58"
  },
  "legacyAST": {
    "absolutePath": "@iexec/solidity/contracts/ERC1538/ERC1538Store.sol",
    "exportedSymbols": {
      "ERC1538Store": [
        10182
      ]
    },
    "id": 10183,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 10172,
        "literals": [
          "solidity",
          "^",
          "0.6",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:23:58"
      },
      {
        "absolutePath": "@openzeppelin/contracts/access/Ownable.sol",
        "file": "@openzeppelin/contracts/access/Ownable.sol",
        "id": 10173,
        "nodeType": "ImportDirective",
        "scope": 10183,
        "sourceUnit": 10862,
        "src": "25:52:58",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "solstruct/contracts/libs/LibMap2.bytes4.address.bytes.sol",
        "file": "solstruct/contracts/libs/LibMap2.bytes4.address.bytes.sol",
        "id": 10174,
        "nodeType": "ImportDirective",
        "scope": 10183,
        "sourceUnit": 13719,
        "src": "78:67:58",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 10175,
              "name": "Ownable",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 10861,
              "src": "172:7:58",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Ownable_$10861",
                "typeString": "contract Ownable"
              }
            },
            "id": 10176,
            "nodeType": "InheritanceSpecifier",
            "src": "172:7:58"
          }
        ],
        "contractDependencies": [
          10752,
          10861
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 10182,
        "linearizedBaseContracts": [
          10182,
          10861,
          10752
        ],
        "name": "ERC1538Store",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "id": 10179,
            "libraryName": {
              "contractScope": null,
              "id": 10177,
              "name": "LibMap2_bytes4_address_bytes",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 13718,
              "src": "189:28:58",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_LibMap2_bytes4_address_bytes_$13718",
                "typeString": "library LibMap2_bytes4_address_bytes"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "183:72:58",
            "typeName": {
              "contractScope": null,
              "id": 10178,
              "name": "LibMap2_bytes4_address_bytes.map",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 13457,
              "src": "222:32:58",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_map_$13457_storage_ptr",
                "typeString": "struct LibMap2_bytes4_address_bytes.map"
              }
            }
          },
          {
            "constant": false,
            "id": 10181,
            "mutability": "mutable",
            "name": "m_funcs",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 10182,
            "src": "258:49:58",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_struct$_map_$13457_storage",
              "typeString": "struct LibMap2_bytes4_address_bytes.map"
            },
            "typeName": {
              "contractScope": null,
              "id": 10180,
              "name": "LibMap2_bytes4_address_bytes.map",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 13457,
              "src": "258:32:58",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_map_$13457_storage_ptr",
                "typeString": "struct LibMap2_bytes4_address_bytes.map"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 10183,
        "src": "147:163:58"
      }
    ],
    "src": "0:311:58"
  },
  "compiler": {
    "name": "solc",
    "version": "0.6.6+commit.6c089d02.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "3.1.0",
  "updatedAt": "2020-04-21T18:10:34.959Z",
  "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": {}
  }
}