{
  "id": "2ae67a84e6facc5d051b77f0eebf7cae",
  "_format": "hh-sol-build-info-1",
  "solcVersion": "0.6.12",
  "solcLongVersion": "0.6.12+commit.27d51765",
  "input": {
    "language": "Solidity",
    "sources": {
      "contracts/external/openzeppelin/OpenZeppelinProxyFactoryInterface.sol": {
        "content": "pragma solidity 0.6.12;\n\ninterface OpenZeppelinProxyFactoryInterface {\n  function deploy(uint256 _salt, address _logic, address _admin, bytes calldata _data) external returns (address);\n  function getDeploymentAddress(uint256 _salt, address _sender) external view returns (address);\n}\n"
      }
    },
    "settings": {
      "optimizer": {
        "enabled": true,
        "runs": 200
      },
      "evmVersion": "istanbul",
      "outputSelection": {
        "*": {
          "*": [
            "abi",
            "evm.bytecode",
            "evm.deployedBytecode",
            "evm.methodIdentifiers",
            "metadata",
            "devdoc",
            "userdoc",
            "storageLayout",
            "evm.gasEstimates"
          ],
          "": [
            "ast"
          ]
        }
      },
      "metadata": {
        "useLiteralContent": true
      }
    }
  },
  "output": {
    "contracts": {
      "contracts/external/openzeppelin/OpenZeppelinProxyFactoryInterface.sol": {
        "OpenZeppelinProxyFactoryInterface": {
          "abi": [
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "_salt",
                  "type": "uint256"
                },
                {
                  "internalType": "address",
                  "name": "_logic",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "_admin",
                  "type": "address"
                },
                {
                  "internalType": "bytes",
                  "name": "_data",
                  "type": "bytes"
                }
              ],
              "name": "deploy",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "_salt",
                  "type": "uint256"
                },
                {
                  "internalType": "address",
                  "name": "_sender",
                  "type": "address"
                }
              ],
              "name": "getDeploymentAddress",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            }
          ],
          "devdoc": {
            "kind": "dev",
            "methods": {},
            "version": 1
          },
          "evm": {
            "bytecode": {
              "linkReferences": {},
              "object": "",
              "opcodes": "",
              "sourceMap": ""
            },
            "deployedBytecode": {
              "immutableReferences": {},
              "linkReferences": {},
              "object": "",
              "opcodes": "",
              "sourceMap": ""
            },
            "gasEstimates": null,
            "methodIdentifiers": {
              "deploy(uint256,address,address,bytes)": "6150864c",
              "getDeploymentAddress(uint256,address)": "81ae1f5b"
            }
          },
          "metadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_salt\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_logic\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_admin\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"deploy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_salt\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"getDeploymentAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/external/openzeppelin/OpenZeppelinProxyFactoryInterface.sol\":\"OpenZeppelinProxyFactoryInterface\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/external/openzeppelin/OpenZeppelinProxyFactoryInterface.sol\":{\"content\":\"pragma solidity 0.6.12;\\n\\ninterface OpenZeppelinProxyFactoryInterface {\\n  function deploy(uint256 _salt, address _logic, address _admin, bytes calldata _data) external returns (address);\\n  function getDeploymentAddress(uint256 _salt, address _sender) external view returns (address);\\n}\\n\",\"keccak256\":\"0x93850274211cb6bbc1d2e746e9387ecbd912c8fd6f6d4352401c607f415a46a5\"}},\"version\":1}",
          "storageLayout": {
            "storage": [],
            "types": null
          },
          "userdoc": {
            "kind": "user",
            "methods": {},
            "version": 1
          }
        }
      }
    },
    "errors": [
      {
        "component": "general",
        "errorCode": "1878",
        "formattedMessage": "contracts/external/openzeppelin/OpenZeppelinProxyFactoryInterface.sol: Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.\n",
        "message": "SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.",
        "severity": "warning",
        "sourceLocation": {
          "end": -1,
          "file": "contracts/external/openzeppelin/OpenZeppelinProxyFactoryInterface.sol",
          "start": -1
        },
        "type": "Warning"
      }
    ],
    "sources": {
      "contracts/external/openzeppelin/OpenZeppelinProxyFactoryInterface.sol": {
        "ast": {
          "absolutePath": "contracts/external/openzeppelin/OpenZeppelinProxyFactoryInterface.sol",
          "exportedSymbols": {
            "OpenZeppelinProxyFactoryInterface": [
              24
            ]
          },
          "id": 25,
          "license": null,
          "nodeType": "SourceUnit",
          "nodes": [
            {
              "id": 1,
              "literals": [
                "solidity",
                "0.6",
                ".12"
              ],
              "nodeType": "PragmaDirective",
              "src": "0:23:0"
            },
            {
              "abstract": false,
              "baseContracts": [],
              "contractDependencies": [],
              "contractKind": "interface",
              "documentation": null,
              "fullyImplemented": false,
              "id": 24,
              "linearizedBaseContracts": [
                24
              ],
              "name": "OpenZeppelinProxyFactoryInterface",
              "nodeType": "ContractDefinition",
              "nodes": [
                {
                  "body": null,
                  "documentation": null,
                  "functionSelector": "6150864c",
                  "id": 14,
                  "implemented": false,
                  "kind": "function",
                  "modifiers": [],
                  "name": "deploy",
                  "nodeType": "FunctionDefinition",
                  "overrides": null,
                  "parameters": {
                    "id": 10,
                    "nodeType": "ParameterList",
                    "parameters": [
                      {
                        "constant": false,
                        "id": 3,
                        "mutability": "mutable",
                        "name": "_salt",
                        "nodeType": "VariableDeclaration",
                        "overrides": null,
                        "scope": 14,
                        "src": "89:13:0",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 2,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "89:7:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      },
                      {
                        "constant": false,
                        "id": 5,
                        "mutability": "mutable",
                        "name": "_logic",
                        "nodeType": "VariableDeclaration",
                        "overrides": null,
                        "scope": 14,
                        "src": "104:14:0",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "typeName": {
                          "id": 4,
                          "name": "address",
                          "nodeType": "ElementaryTypeName",
                          "src": "104:7:0",
                          "stateMutability": "nonpayable",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      },
                      {
                        "constant": false,
                        "id": 7,
                        "mutability": "mutable",
                        "name": "_admin",
                        "nodeType": "VariableDeclaration",
                        "overrides": null,
                        "scope": 14,
                        "src": "120:14:0",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "typeName": {
                          "id": 6,
                          "name": "address",
                          "nodeType": "ElementaryTypeName",
                          "src": "120:7:0",
                          "stateMutability": "nonpayable",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      },
                      {
                        "constant": false,
                        "id": 9,
                        "mutability": "mutable",
                        "name": "_data",
                        "nodeType": "VariableDeclaration",
                        "overrides": null,
                        "scope": 14,
                        "src": "136:20:0",
                        "stateVariable": false,
                        "storageLocation": "calldata",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_calldata_ptr",
                          "typeString": "bytes"
                        },
                        "typeName": {
                          "id": 8,
                          "name": "bytes",
                          "nodeType": "ElementaryTypeName",
                          "src": "136:5:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_storage_ptr",
                            "typeString": "bytes"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "src": "88:69:0"
                  },
                  "returnParameters": {
                    "id": 13,
                    "nodeType": "ParameterList",
                    "parameters": [
                      {
                        "constant": false,
                        "id": 12,
                        "mutability": "mutable",
                        "name": "",
                        "nodeType": "VariableDeclaration",
                        "overrides": null,
                        "scope": 14,
                        "src": "176:7:0",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "typeName": {
                          "id": 11,
                          "name": "address",
                          "nodeType": "ElementaryTypeName",
                          "src": "176:7:0",
                          "stateMutability": "nonpayable",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "src": "175:9:0"
                  },
                  "scope": 24,
                  "src": "73:112:0",
                  "stateMutability": "nonpayable",
                  "virtual": false,
                  "visibility": "external"
                },
                {
                  "body": null,
                  "documentation": null,
                  "functionSelector": "81ae1f5b",
                  "id": 23,
                  "implemented": false,
                  "kind": "function",
                  "modifiers": [],
                  "name": "getDeploymentAddress",
                  "nodeType": "FunctionDefinition",
                  "overrides": null,
                  "parameters": {
                    "id": 19,
                    "nodeType": "ParameterList",
                    "parameters": [
                      {
                        "constant": false,
                        "id": 16,
                        "mutability": "mutable",
                        "name": "_salt",
                        "nodeType": "VariableDeclaration",
                        "overrides": null,
                        "scope": 23,
                        "src": "218:13:0",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 15,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "218:7:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      },
                      {
                        "constant": false,
                        "id": 18,
                        "mutability": "mutable",
                        "name": "_sender",
                        "nodeType": "VariableDeclaration",
                        "overrides": null,
                        "scope": 23,
                        "src": "233:15:0",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "typeName": {
                          "id": 17,
                          "name": "address",
                          "nodeType": "ElementaryTypeName",
                          "src": "233:7:0",
                          "stateMutability": "nonpayable",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "src": "217:32:0"
                  },
                  "returnParameters": {
                    "id": 22,
                    "nodeType": "ParameterList",
                    "parameters": [
                      {
                        "constant": false,
                        "id": 21,
                        "mutability": "mutable",
                        "name": "",
                        "nodeType": "VariableDeclaration",
                        "overrides": null,
                        "scope": 23,
                        "src": "273:7:0",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "typeName": {
                          "id": 20,
                          "name": "address",
                          "nodeType": "ElementaryTypeName",
                          "src": "273:7:0",
                          "stateMutability": "nonpayable",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "src": "272:9:0"
                  },
                  "scope": 24,
                  "src": "188:94:0",
                  "stateMutability": "view",
                  "virtual": false,
                  "visibility": "external"
                }
              ],
              "scope": 25,
              "src": "25:259:0"
            }
          ],
          "src": "0:285:0"
        },
        "id": 0
      }
    }
  }
}
