@aragon/apps-payroll
Version:
_**Code in Github:**_ [aragon-apps/apps/payroll](https://github.com/aragon/aragon-apps/tree/master/future-apps/payroll)
1,326 lines (1,325 loc) • 78.4 kB
JSON
{
"contractName": "AppProxyBase",
"abi": [
{
"constant": true,
"inputs": [],
"name": "proxyType",
"outputs": [
{
"name": "proxyTypeId",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "pure",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "isDepositable",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "implementation",
"outputs": [
{
"name": "codeAddr",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "appId",
"outputs": [
{
"name": "",
"type": "bytes32"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "kernel",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"name": "_kernel",
"type": "address"
},
{
"name": "_appId",
"type": "bytes32"
},
{
"name": "_initializePayload",
"type": "bytes"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"payable": true,
"stateMutability": "payable",
"type": "fallback"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"name": "sender",
"type": "address"
},
{
"indexed": false,
"name": "value",
"type": "uint256"
}
],
"name": "ProxyDeposit",
"type": "event"
}
],
"bytecode": "0x",
"deployedBytecode": "0x",
"sourceMap": "",
"deployedSourceMap": "",
"source": "pragma solidity 0.4.24;\n\nimport \"./AppStorage.sol\";\nimport \"../common/DepositableDelegateProxy.sol\";\nimport \"../kernel/KernelConstants.sol\";\nimport \"../kernel/IKernel.sol\";\n\n\ncontract AppProxyBase is AppStorage, DepositableDelegateProxy, KernelNamespaceConstants {\n /**\n * @dev Initialize AppProxy\n * @param _kernel Reference to organization kernel for the app\n * @param _appId Identifier for app\n * @param _initializePayload Payload for call to be made after setup to initialize\n */\n constructor(IKernel _kernel, bytes32 _appId, bytes _initializePayload) public {\n setKernel(_kernel);\n setAppId(_appId);\n\n // Implicit check that kernel is actually a Kernel\n // The EVM doesn't actually provide a way for us to make sure, but we can force a revert to\n // occur if the kernel is set to 0x0 or a non-code address when we try to call a method on\n // it.\n address appCode = getAppBase(_appId);\n\n // If initialize payload is provided, it will be executed\n if (_initializePayload.length > 0) {\n require(isContract(appCode));\n // Cannot make delegatecall as a delegateproxy.delegatedFwd as it\n // returns ending execution context and halts contract deployment\n require(appCode.delegatecall(_initializePayload));\n }\n }\n\n function getAppBase(bytes32 _appId) internal view returns (address) {\n return kernel().getApp(KERNEL_APP_BASES_NAMESPACE, _appId);\n }\n}\n",
"sourcePath": "@aragon/os/contracts/apps/AppProxyBase.sol",
"ast": {
"absolutePath": "@aragon/os/contracts/apps/AppProxyBase.sol",
"exportedSymbols": {
"AppProxyBase": [
10180
]
},
"id": 10181,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 10111,
"literals": [
"solidity",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
"src": "0:23:19"
},
{
"absolutePath": "@aragon/os/contracts/apps/AppStorage.sol",
"file": "./AppStorage.sol",
"id": 10112,
"nodeType": "ImportDirective",
"scope": 10181,
"sourceUnit": 10366,
"src": "25:26:19",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "@aragon/os/contracts/common/DepositableDelegateProxy.sol",
"file": "../common/DepositableDelegateProxy.sol",
"id": 10113,
"nodeType": "ImportDirective",
"scope": 10181,
"sourceUnit": 10623,
"src": "52:48:19",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "@aragon/os/contracts/kernel/KernelConstants.sol",
"file": "../kernel/KernelConstants.sol",
"id": 10114,
"nodeType": "ImportDirective",
"scope": 10181,
"sourceUnit": 13115,
"src": "101:39:19",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "@aragon/os/contracts/kernel/IKernel.sol",
"file": "../kernel/IKernel.sol",
"id": 10115,
"nodeType": "ImportDirective",
"scope": 10181,
"sourceUnit": 12601,
"src": "141:31:19",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 10116,
"name": "AppStorage",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 10365,
"src": "200:10:19",
"typeDescriptions": {
"typeIdentifier": "t_contract$_AppStorage_$10365",
"typeString": "contract AppStorage"
}
},
"id": 10117,
"nodeType": "InheritanceSpecifier",
"src": "200:10:19"
},
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 10118,
"name": "DepositableDelegateProxy",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 10622,
"src": "212:24:19",
"typeDescriptions": {
"typeIdentifier": "t_contract$_DepositableDelegateProxy_$10622",
"typeString": "contract DepositableDelegateProxy"
}
},
"id": 10119,
"nodeType": "InheritanceSpecifier",
"src": "212:24:19"
},
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 10120,
"name": "KernelNamespaceConstants",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 13114,
"src": "238:24:19",
"typeDescriptions": {
"typeIdentifier": "t_contract$_KernelNamespaceConstants_$13114",
"typeString": "contract KernelNamespaceConstants"
}
},
"id": 10121,
"nodeType": "InheritanceSpecifier",
"src": "238:24:19"
}
],
"contractDependencies": [
10365,
10583,
10622,
10654,
10838,
13114,
14225
],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": false,
"id": 10180,
"linearizedBaseContracts": [
10180,
13114,
10622,
10583,
10838,
14225,
10654,
10365
],
"name": "AppProxyBase",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": {
"id": 10163,
"nodeType": "Block",
"src": "584:764:19",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 10131,
"name": "_kernel",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10123,
"src": "604:7:19",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IKernel_$12600",
"typeString": "contract IKernel"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_IKernel_$12600",
"typeString": "contract IKernel"
}
],
"id": 10130,
"name": "setKernel",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10352,
"src": "594:9:19",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IKernel_$12600_$returns$__$",
"typeString": "function (contract IKernel)"
}
},
"id": 10132,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "594:18:19",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 10133,
"nodeType": "ExpressionStatement",
"src": "594:18:19"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 10135,
"name": "_appId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10125,
"src": "631:6:19",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"id": 10134,
"name": "setAppId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10364,
"src": "622:8:19",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$",
"typeString": "function (bytes32)"
}
},
"id": 10136,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "622:16:19",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 10137,
"nodeType": "ExpressionStatement",
"src": "622:16:19"
},
{
"assignments": [
10139
],
"declarations": [
{
"constant": false,
"id": 10139,
"name": "appCode",
"nodeType": "VariableDeclaration",
"scope": 10164,
"src": "922:15:19",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 10138,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "922:7:19",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 10143,
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 10141,
"name": "_appId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10125,
"src": "951:6:19",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"id": 10140,
"name": "getAppBase",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10179,
"src": "940:10:19",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
"typeString": "function (bytes32) view returns (address)"
}
},
"id": 10142,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "940:18:19",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "922:36:19"
},
{
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 10147,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 10144,
"name": "_initializePayload",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10127,
"src": "1039:18:19",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
"id": 10145,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "length",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "1039:25:19",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": ">",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30",
"id": 10146,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1067:1:19",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "1039:29:19",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": null,
"id": 10162,
"nodeType": "IfStatement",
"src": "1035:307:19",
"trueBody": {
"id": 10161,
"nodeType": "Block",
"src": "1070:272:19",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 10150,
"name": "appCode",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10139,
"src": "1103:7:19",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 10149,
"name": "isContract",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10837,
"src": "1092:10:19",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$",
"typeString": "function (address) view returns (bool)"
}
},
"id": 10151,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1092:19:19",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
"id": 10148,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
15156,
15157
],
"referencedDeclaration": 15156,
"src": "1084:7:19",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
"typeString": "function (bool) pure"
}
},
"id": 10152,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1084:28:19",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 10153,
"nodeType": "ExpressionStatement",
"src": "1084:28:19"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 10157,
"name": "_initializePayload",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10127,
"src": "1311:18:19",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"expression": {
"argumentTypes": null,
"id": 10155,
"name": "appCode",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10139,
"src": "1290:7:19",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 10156,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "delegatecall",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "1290:20:19",
"typeDescriptions": {
"typeIdentifier": "t_function_baredelegatecall_nonpayable$__$returns$_t_bool_$",
"typeString": "function () returns (bool)"
}
},
"id": 10158,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1290:40:19",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
"id": 10154,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
15156,
15157
],
"referencedDeclaration": 15156,
"src": "1282:7:19",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
"typeString": "function (bool) pure"
}
},
"id": 10159,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1282:49:19",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 10160,
"nodeType": "ExpressionStatement",
"src": "1282:49:19"
}
]
}
}
]
},
"documentation": "@dev Initialize AppProxy\n@param _kernel Reference to organization kernel for the app\n@param _appId Identifier for app\n@param _initializePayload Payload for call to be made after setup to initialize",
"id": 10164,
"implemented": true,
"isConstructor": true,
"isDeclaredConst": false,
"modifiers": [],
"name": "",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 10128,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 10123,
"name": "_kernel",
"nodeType": "VariableDeclaration",
"scope": 10164,
"src": "518:15:19",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IKernel_$12600",
"typeString": "contract IKernel"
},
"typeName": {
"contractScope": null,
"id": 10122,
"name": "IKernel",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 12600,
"src": "518:7:19",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IKernel_$12600",
"typeString": "contract IKernel"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 10125,
"name": "_appId",
"nodeType": "VariableDeclaration",
"scope": 10164,
"src": "535:14:19",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 10124,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "535:7:19",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 10127,
"name": "_initializePayload",
"nodeType": "VariableDeclaration",
"scope": 10164,
"src": "551:24:19",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 10126,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "551:5:19",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "517:59:19"
},
"payable": false,
"returnParameters": {
"id": 10129,
"nodeType": "ParameterList",
"parameters": [],
"src": "584:0:19"
},
"scope": 10180,
"src": "506:842:19",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 10178,
"nodeType": "Block",
"src": "1422:75:19",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 10174,
"name": "KERNEL_APP_BASES_NAMESPACE",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13110,
"src": "1455:26:19",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"argumentTypes": null,
"id": 10175,
"name": "_appId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10166,
"src": "1483:6:19",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"expression": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"id": 10171,
"name": "kernel",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10328,
"src": "1439:6:19",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IKernel_$12600_$",
"typeString": "function () view returns (contract IKernel)"
}
},
"id": 10172,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1439:8:19",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IKernel_$12600",
"typeString": "contract IKernel"
}
},
"id": 10173,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "getApp",
"nodeType": "MemberAccess",
"referencedDeclaration": 12599,
"src": "1439:15:19",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_address_$",
"typeString": "function (bytes32,bytes32) view external returns (address)"
}
},
"id": 10176,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1439:51:19",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"functionReturnParameters": 10170,
"id": 10177,
"nodeType": "Return",
"src": "1432:58:19"
}
]
},
"documentation": null,
"id": 10179,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "getAppBase",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 10167,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 10166,
"name": "_appId",
"nodeType": "VariableDeclaration",
"scope": 10179,
"src": "1374:14:19",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 10165,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "1374:7:19",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1373:16:19"
},
"payable": false,
"returnParameters": {
"id": 10170,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 10169,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 10179,
"src": "1413:7:19",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 10168,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1413:7:19",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1412:9:19"
},
"scope": 10180,
"src": "1354:143:19",
"stateMutability": "view",
"superFunction": null,
"visibility": "internal"
}
],
"scope": 10181,
"src": "175:1324:19"
}
],
"src": "0:1500:19"
},
"legacyAST": {
"absolutePath": "@aragon/os/contracts/apps/AppProxyBase.sol",
"exportedSymbols": {
"AppProxyBase": [
10180
]
},
"id": 10181,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 10111,
"literals": [
"solidity",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
"src": "0:23:19"
},
{
"absolutePath": "@aragon/os/contracts/apps/AppStorage.sol",
"file": "./AppStorage.sol",
"id": 10112,
"nodeType": "ImportDirective",
"scope": 10181,
"sourceUnit": 10366,
"src": "25:26:19",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "@aragon/os/contracts/common/DepositableDelegateProxy.sol",
"file": "../common/DepositableDelegateProxy.sol",
"id": 10113,
"nodeType": "ImportDirective",
"scope": 10181,
"sourceUnit": 10623,
"src": "52:48:19",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "@aragon/os/contracts/kernel/KernelConstants.sol",
"file": "../kernel/KernelConstants.sol",
"id": 10114,
"nodeType": "ImportDirective",
"scope": 10181,
"sourceUnit": 13115,
"src": "101:39:19",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "@aragon/os/contracts/kernel/IKernel.sol",
"file": "../kernel/IKernel.sol",
"id": 10115,
"nodeType": "ImportDirective",
"scope": 10181,
"sourceUnit": 12601,
"src": "141:31:19",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 10116,
"name": "AppStorage",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 10365,
"src": "200:10:19",
"typeDescriptions": {
"typeIdentifier": "t_contract$_AppStorage_$10365",
"typeString": "contract AppStorage"
}
},
"id": 10117,
"nodeType": "InheritanceSpecifier",
"src": "200:10:19"
},
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 10118,
"name": "DepositableDelegateProxy",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 10622,
"src": "212:24:19",
"typeDescriptions": {
"typeIdentifier": "t_contract$_DepositableDelegateProxy_$10622",
"typeString": "contract DepositableDelegateProxy"
}
},
"id": 10119,
"nodeType": "InheritanceSpecifier",
"src": "212:24:19"
},
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 10120,
"name": "KernelNamespaceConstants",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 13114,
"src": "238:24:19",
"typeDescriptions": {
"typeIdentifier": "t_contract$_KernelNamespaceConstants_$13114",
"typeString": "contract KernelNamespaceConstants"
}
},
"id": 10121,
"nodeType": "InheritanceSpecifier",
"src": "238:24:19"
}
],
"contractDependencies": [
10365,
10583,
10622,
10654,
10838,
13114,
14225
],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": false,
"id": 10180,
"linearizedBaseContracts": [
10180,
13114,
10622,
10583,
10838,
14225,
10654,
10365
],
"name": "AppProxyBase",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": {
"id": 10163,
"nodeType": "Block",
"src": "584:764:19",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 10131,
"name": "_kernel",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10123,
"src": "604:7:19",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IKernel_$12600",
"typeString": "contract IKernel"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_IKernel_$12600",
"typeString": "contract IKernel"
}
],
"id": 10130,
"name": "setKernel",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10352,
"src": "594:9:19",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IKernel_$12600_$returns$__$",
"typeString": "function (contract IKernel)"
}
},
"id": 10132,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "594:18:19",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 10133,
"nodeType": "ExpressionStatement",
"src": "594:18:19"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 10135,
"name": "_appId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10125,
"src": "631:6:19",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"id": 10134,
"name": "setAppId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10364,
"src": "622:8:19",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$",
"typeString": "function (bytes32)"
}
},
"id": 10136,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "622:16:19",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 10137,
"nodeType": "ExpressionStatement",
"src": "622:16:19"
},
{
"assignments": [
10139
],
"declarations": [