UNPKG

@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
{ "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": [