{
  "fileName": "Greeter.sol",
  "contractName": "Greeter",
  "source": "pragma solidity ^0.6.0;\n// SPDX-License-Identifier: MIT\n\ncontract Greeter {\n  event Greeting(string greeting);\n\n  function greet(string memory who) public {\n    emit Greeting(greeting(who));\n  }\n\n  function greeting(string memory who) public pure returns (string memory) {\n    return who;\n  }\n\n  function say() public pure returns (string memory) {\n    return \"hello\";\n  }\n}\n",
  "sourcePath": "mock-dependency/contracts/Greeter.sol",
  "sourceMap": "57:317:46:-:0;;;;;;;;;;;;;;;;;;;;;;",
  "deployedSourceMap": "57:317:46:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;296:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;114:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;198:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;296:76;332:13;353:14;;;;;;;;;;;;;;;;;;;;;;;296:76;;:::o;114:80::-;166:23;175:13;184:3;175:8;:13;;:::i;:::-;166:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;114:80;;:::o;198:94::-;256:13;284:3;277:10;;;;198:94;;;;:::o",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "greeting",
          "type": "string"
        }
      ],
      "name": "Greeting",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "who",
          "type": "string"
        }
      ],
      "name": "greet",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "who",
          "type": "string"
        }
      ],
      "name": "greeting",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "say",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    }
  ],
  "ast": {
    "absolutePath": "mock-dependency/contracts/Greeter.sol",
    "exportedSymbols": {
      "Greeter": [
        6833
      ]
    },
    "id": 6834,
    "license": "MIT",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 6798,
        "literals": [
          "solidity",
          "^",
          "0.6",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:23:46"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 6833,
        "linearizedBaseContracts": [
          6833
        ],
        "name": "Greeter",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "documentation": null,
            "id": 6802,
            "name": "Greeting",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 6801,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6800,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "greeting",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 6802,
                  "src": "93:15:46",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 6799,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "93:6:46",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "92:17:46"
            },
            "src": "78:32:46"
          },
          {
            "body": {
              "id": 6813,
              "nodeType": "Block",
              "src": "155:39:46",
              "statements": [
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 6809,
                            "name": "who",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6804,
                            "src": "184:3:46",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          ],
                          "id": 6808,
                          "name": "greeting",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6824,
                          "src": "175:8:46",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$",
                            "typeString": "function (string memory) pure returns (string memory)"
                          }
                        },
                        "id": 6810,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "175:13:46",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 6807,
                      "name": "Greeting",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6802,
                      "src": "166:8:46",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (string memory)"
                      }
                    },
                    "id": 6811,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "166:23:46",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6812,
                  "nodeType": "EmitStatement",
                  "src": "161:28:46"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "ead710c4",
            "id": 6814,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "greet",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 6805,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6804,
                  "mutability": "mutable",
                  "name": "who",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 6814,
                  "src": "129:17:46",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 6803,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "129:6:46",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "128:19:46"
            },
            "returnParameters": {
              "id": 6806,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "155:0:46"
            },
            "scope": 6833,
            "src": "114:80:46",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 6823,
              "nodeType": "Block",
              "src": "271:21:46",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 6821,
                    "name": "who",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 6816,
                    "src": "284:3:46",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "functionReturnParameters": 6820,
                  "id": 6822,
                  "nodeType": "Return",
                  "src": "277:10:46"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "f8194e48",
            "id": 6824,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "greeting",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 6817,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6816,
                  "mutability": "mutable",
                  "name": "who",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 6824,
                  "src": "216:17:46",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 6815,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "216:6:46",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "215:19:46"
            },
            "returnParameters": {
              "id": 6820,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6819,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 6824,
                  "src": "256:13:46",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 6818,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "256:6:46",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "255:15:46"
            },
            "scope": 6833,
            "src": "198:94:46",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 6831,
              "nodeType": "Block",
              "src": "347:25:46",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "hexValue": "68656c6c6f",
                    "id": 6829,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "string",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "360:7:46",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8",
                      "typeString": "literal_string \"hello\""
                    },
                    "value": "hello"
                  },
                  "functionReturnParameters": 6828,
                  "id": 6830,
                  "nodeType": "Return",
                  "src": "353:14:46"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "954ab4b2",
            "id": 6832,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "say",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 6825,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "308:2:46"
            },
            "returnParameters": {
              "id": 6828,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6827,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 6832,
                  "src": "332:13:46",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 6826,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "332:6:46",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "331:15:46"
            },
            "scope": 6833,
            "src": "296:76:46",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          }
        ],
        "scope": 6834,
        "src": "57:317:46"
      }
    ],
    "src": "0:375:46"
  },
  "bytecode": "0x60806040523480156100115760006000fd5b50610017565b610409806100266000396000f3fe60806040523480156100115760006000fd5b50600436106100465760003560e01c8063954ab4b21461004c578063ead710c4146100d0578063f8194e481461019357610046565b60006000fd5b6100546102d0565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100955780820151818401525b602081019050610079565b50505050905090810190601f1680156100c25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610191600480360360208110156100e75760006000fd5b81019080803590602001906401000000008111156101055760006000fd5b8201836020820111156101185760006000fd5b8035906020019184600183028401116401000000008311171561013b5760006000fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050909091929090919290505050610315565b005b610254600480360360208110156101aa5760006000fd5b81019080803590602001906401000000008111156101c85760006000fd5b8201836020820111156101db5760006000fd5b803590602001918460018302840111640100000000831117156101fe5760006000fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509090919290909192905050506103c4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102955780820151818401525b602081019050610279565b50505050905090810190601f1680156102c25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60606040518060400160405280600581526020017f68656c6c6f0000000000000000000000000000000000000000000000000000008152602001509050610312565b90565b7fa5263230ff6fc3abbbad333e24faf0f402b4e050b83a1d30ad4051f4e5d0f727610345826103c463ffffffff16565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103865780820151818401525b60208101905061036a565b50505050905090810190601f1680156103b35780820380516001836020036101000a031916815260200191505b509250505060405180910390a15b50565b60608190506103ce565b91905056fea2646970667358221220f68c02fe923bbaf4c283d30ee0d434ada3fa8b47de6c4a557b4ed130697ed34064736f6c634300060a0033",
  "deployedBytecode": "0x60806040523480156100115760006000fd5b50600436106100465760003560e01c8063954ab4b21461004c578063ead710c4146100d0578063f8194e481461019357610046565b60006000fd5b6100546102d0565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100955780820151818401525b602081019050610079565b50505050905090810190601f1680156100c25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610191600480360360208110156100e75760006000fd5b81019080803590602001906401000000008111156101055760006000fd5b8201836020820111156101185760006000fd5b8035906020019184600183028401116401000000008311171561013b5760006000fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050909091929090919290505050610315565b005b610254600480360360208110156101aa5760006000fd5b81019080803590602001906401000000008111156101c85760006000fd5b8201836020820111156101db5760006000fd5b803590602001918460018302840111640100000000831117156101fe5760006000fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509090919290909192905050506103c4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102955780820151818401525b602081019050610279565b50505050905090810190601f1680156102c25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60606040518060400160405280600581526020017f68656c6c6f0000000000000000000000000000000000000000000000000000008152602001509050610312565b90565b7fa5263230ff6fc3abbbad333e24faf0f402b4e050b83a1d30ad4051f4e5d0f727610345826103c463ffffffff16565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103865780820151818401525b60208101905061036a565b50505050905090810190601f1680156103b35780820380516001836020036101000a031916815260200191505b509250505060405180910390a15b50565b60608190506103ce565b91905056fea2646970667358221220f68c02fe923bbaf4c283d30ee0d434ada3fa8b47de6c4a557b4ed130697ed34064736f6c634300060a0033",
  "compiler": {
    "name": "solc",
    "version": "0.6.10+commit.00c0fcaf.Emscripten.clang",
    "optimizer": {},
    "evmVersion": "constantinople"
  }
}
