UNPKG

@aragon/apps-payroll

Version:

_**Code in Github:**_ [aragon-apps/apps/payroll](https://github.com/aragon/aragon-apps/tree/master/future-apps/payroll)

1,277 lines (1,276 loc) 59.7 kB
{ "contractName": "AppStorage", "abi": [ { "constant": true, "inputs": [], "name": "kernel", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "appId", "outputs": [ { "name": "", "type": "bytes32" } ], "payable": false, "stateMutability": "view", "type": "function" } ], "bytecode": "0x608060405234801561001057600080fd5b5061013c806100206000396000f30060806040526004361061004b5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166380afdea88114610050578063d4aae0c414610077575b600080fd5b34801561005c57600080fd5b506100656100b5565b60408051918252519081900360200190f35b34801561008357600080fd5b5061008c6100e5565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b60006100e07fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b61010c565b905090565b60006100e07f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b5b54905600a165627a7a723058206ac29bb2aa600d684726783c282a13cd2109df87e1b2036799330b13bfd3deed0029", "deployedBytecode": "0x60806040526004361061004b5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166380afdea88114610050578063d4aae0c414610077575b600080fd5b34801561005c57600080fd5b506100656100b5565b60408051918252519081900360200190f35b34801561008357600080fd5b5061008c6100e5565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b60006100e07fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b61010c565b905090565b60006100e07f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b5b54905600a165627a7a723058206ac29bb2aa600d684726783c282a13cd2109df87e1b2036799330b13bfd3deed0029", "sourceMap": "148:982:22:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;148:982:22;;;;;;;", "deployedSourceMap": "148:982:22:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;796:106;;8:9:-1;5:2;;;30:1;27;20:12;5:2;796:106:22;;;;;;;;;;;;;;;;;;;;674:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;674:116:22;;;;;;;;;;;;;;;;;;;;;;;796:106;834:7;860:35;601:66;860:33;:35::i;:::-;853:42;;796:106;:::o;674:116::-;713:7;747:35;485:66;379:134:39;490:15;;480:27::o", "source": "/*\n * SPDX-License-Identitifer: MIT\n */\n\npragma solidity ^0.4.24;\n\nimport \"../common/UnstructuredStorage.sol\";\nimport \"../kernel/IKernel.sol\";\n\n\ncontract AppStorage {\n using UnstructuredStorage for bytes32;\n\n /* Hardcoded constants to save gas\n bytes32 internal constant KERNEL_POSITION = keccak256(\"aragonOS.appStorage.kernel\");\n bytes32 internal constant APP_ID_POSITION = keccak256(\"aragonOS.appStorage.appId\");\n */\n bytes32 internal constant KERNEL_POSITION = 0x4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b;\n bytes32 internal constant APP_ID_POSITION = 0xd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b;\n\n function kernel() public view returns (IKernel) {\n return IKernel(KERNEL_POSITION.getStorageAddress());\n }\n\n function appId() public view returns (bytes32) {\n return APP_ID_POSITION.getStorageBytes32();\n }\n\n function setKernel(IKernel _kernel) internal {\n KERNEL_POSITION.setStorageAddress(address(_kernel));\n }\n\n function setAppId(bytes32 _appId) internal {\n APP_ID_POSITION.setStorageBytes32(_appId);\n }\n}\n", "sourcePath": "@aragon/os/contracts/apps/AppStorage.sol", "ast": { "absolutePath": "@aragon/os/contracts/apps/AppStorage.sol", "exportedSymbols": { "AppStorage": [ 10365 ] }, "id": 10366, "nodeType": "SourceUnit", "nodes": [ { "id": 10305, "literals": [ "solidity", "^", "0.4", ".24" ], "nodeType": "PragmaDirective", "src": "44:24:22" }, { "absolutePath": "@aragon/os/contracts/common/UnstructuredStorage.sol", "file": "../common/UnstructuredStorage.sol", "id": 10306, "nodeType": "ImportDirective", "scope": 10366, "sourceUnit": 11307, "src": "70:43:22", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "@aragon/os/contracts/kernel/IKernel.sol", "file": "../kernel/IKernel.sol", "id": 10307, "nodeType": "ImportDirective", "scope": 10366, "sourceUnit": 12601, "src": "114:31:22", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 10365, "linearizedBaseContracts": [ 10365 ], "name": "AppStorage", "nodeType": "ContractDefinition", "nodes": [ { "id": 10310, "libraryName": { "contractScope": null, "id": 10308, "name": "UnstructuredStorage", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 11306, "src": "180:19:22", "typeDescriptions": { "typeIdentifier": "t_contract$_UnstructuredStorage_$11306", "typeString": "library UnstructuredStorage" } }, "nodeType": "UsingForDirective", "src": "174:38:22", "typeName": { "id": 10309, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "204:7:22", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } }, { "constant": true, "id": 10313, "name": "KERNEL_POSITION", "nodeType": "VariableDeclaration", "scope": 10365, "src": "441:110:22", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 10311, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "441:7:22", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": { "argumentTypes": null, "hexValue": "307834313732663066376432323839313533303732623061366361333639353965306362653265666333616665353066633831363336636161393633333831333762", "id": 10312, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "485:66:22", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_29603418823659377402517424791837662213071105721787245324259490738465228198779_by_1", "typeString": "int_const 2960...(69 digits omitted)...8779" }, "value": "0x4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b" }, "visibility": "internal" }, { "constant": true, "id": 10316, "name": "APP_ID_POSITION", "nodeType": "VariableDeclaration", "scope": 10365, "src": "557:110:22", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 10314, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "557:7:22", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": { "argumentTypes": null, "hexValue": "307864363235343936323137616136613334353365656362396333343839646335613533653663363762343434333239656132623263626339666635343736333962", "id": 10315, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "601:66:22", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_96860829410266183739968109275744835355652829419177135718944944339455505294235_by_1", "typeString": "int_const 9686...(69 digits omitted)...4235" }, "value": "0xd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b" }, "visibility": "internal" }, { "body": { "id": 10327, "nodeType": "Block", "src": "722:68:22", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 10322, "name": "KERNEL_POSITION", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 10313, "src": "747:15:22", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "id": 10323, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getStorageAddress", "nodeType": "MemberAccess", "referencedDeclaration": 11251, "src": "747:33:22", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$bound_to$_t_bytes32_$", "typeString": "function (bytes32) view returns (address)" } }, "id": 10324, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "747:35:22", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 10321, "name": "IKernel", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12600, "src": "739:7:22", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IKernel_$12600_$", "typeString": "type(contract IKernel)" } }, "id": 10325, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "739:44:22", "typeDescriptions": { "typeIdentifier": "t_contract$_IKernel_$12600", "typeString": "contract IKernel" } }, "functionReturnParameters": 10320, "id": 10326, "nodeType": "Return", "src": "732:51:22" } ] }, "documentation": null, "id": 10328, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "kernel", "nodeType": "FunctionDefinition", "parameters": { "id": 10317, "nodeType": "ParameterList", "parameters": [], "src": "689:2:22" }, "payable": false, "returnParameters": { "id": 10320, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 10319, "name": "", "nodeType": "VariableDeclaration", "scope": 10328, "src": "713:7:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_IKernel_$12600", "typeString": "contract IKernel" }, "typeName": { "contractScope": null, "id": 10318, "name": "IKernel", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12600, "src": "713:7:22", "typeDescriptions": { "typeIdentifier": "t_contract$_IKernel_$12600", "typeString": "contract IKernel" } }, "value": null, "visibility": "internal" } ], "src": "712:9:22" }, "scope": 10365, "src": "674:116:22", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 10337, "nodeType": "Block", "src": "843:59:22", "statements": [ { "expression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 10333, "name": "APP_ID_POSITION", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 10316, "src": "860:15:22", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "id": 10334, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getStorageBytes32", "nodeType": "MemberAccess", "referencedDeclaration": 11260, "src": "860:33:22", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$bound_to$_t_bytes32_$", "typeString": "function (bytes32) view returns (bytes32)" } }, "id": 10335, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "860:35:22", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "functionReturnParameters": 10332, "id": 10336, "nodeType": "Return", "src": "853:42:22" } ] }, "documentation": null, "id": 10338, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "appId", "nodeType": "FunctionDefinition", "parameters": { "id": 10329, "nodeType": "ParameterList", "parameters": [], "src": "810:2:22" }, "payable": false, "returnParameters": { "id": 10332, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 10331, "name": "", "nodeType": "VariableDeclaration", "scope": 10338, "src": "834:7:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 10330, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "834:7:22", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": null, "visibility": "internal" } ], "src": "833:9:22" }, "scope": 10365, "src": "796:106:22", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 10351, "nodeType": "Block", "src": "953:68:22", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 10347, "name": "_kernel", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 10340, "src": "1005:7:22", "typeDescriptions": { "typeIdentifier": "t_contract$_IKernel_$12600", "typeString": "contract IKernel" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_contract$_IKernel_$12600", "typeString": "contract IKernel" } ], "id": 10346, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "997:7:22", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 10348, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "997:16:22", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "argumentTypes": null, "id": 10343, "name": "KERNEL_POSITION", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 10313, "src": "963:15:22", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "id": 10345, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "setStorageAddress", "nodeType": "MemberAccess", "referencedDeclaration": 11287, "src": "963:33:22", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$bound_to$_t_bytes32_$", "typeString": "function (bytes32,address)" } }, "id": 10349, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "963:51:22", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 10350, "nodeType": "ExpressionStatement", "src": "963:51:22" } ] }, "documentation": null, "id": 10352, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [], "name": "setKernel", "nodeType": "FunctionDefinition", "parameters": { "id": 10341, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 10340, "name": "_kernel", "nodeType": "VariableDeclaration", "scope": 10352, "src": "927:15:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_IKernel_$12600", "typeString": "contract IKernel" }, "typeName": { "contractScope": null, "id": 10339, "name": "IKernel", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12600, "src": "927:7:22", "typeDescriptions": { "typeIdentifier": "t_contract$_IKernel_$12600", "typeString": "contract IKernel" } }, "value": null, "visibility": "internal" } ], "src": "926:17:22" }, "payable": false, "returnParameters": { "id": 10342, "nodeType": "ParameterList", "parameters": [], "src": "953:0:22" }, "scope": 10365, "src": "908:113:22", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { "id": 10363, "nodeType": "Block", "src": "1070:58:22", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 10360, "name": "_appId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 10354, "src": "1114:6:22", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "expression": { "argumentTypes": null, "id": 10357, "name": "APP_ID_POSITION", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 10316, "src": "1080:15:22", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "id": 10359, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "setStorageBytes32", "nodeType": "MemberAccess", "referencedDeclaration": 11296, "src": "1080:33:22", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$bound_to$_t_bytes32_$", "typeString": "function (bytes32,bytes32)" } }, "id": 10361, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1080:41:22", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 10362, "nodeType": "ExpressionStatement", "src": "1080:41:22" } ] }, "documentation": null, "id": 10364, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [], "name": "setAppId", "nodeType": "FunctionDefinition", "parameters": { "id": 10355, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 10354, "name": "_appId", "nodeType": "VariableDeclaration", "scope": 10364, "src": "1045:14:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 10353, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1045:7:22", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": null, "visibility": "internal" } ], "src": "1044:16:22" }, "payable": false, "returnParameters": { "id": 10356, "nodeType": "ParameterList", "parameters": [], "src": "1070:0:22" }, "scope": 10365, "src": "1027:101:22", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], "scope": 10366, "src": "148:982:22" } ], "src": "44:1087:22" }, "legacyAST": { "absolutePath": "@aragon/os/contracts/apps/AppStorage.sol", "exportedSymbols": { "AppStorage": [ 10365 ] }, "id": 10366, "nodeType": "SourceUnit", "nodes": [ { "id": 10305, "literals": [ "solidity", "^", "0.4", ".24" ], "nodeType": "PragmaDirective", "src": "44:24:22" }, { "absolutePath": "@aragon/os/contracts/common/UnstructuredStorage.sol", "file": "../common/UnstructuredStorage.sol", "id": 10306, "nodeType": "ImportDirective", "scope": 10366, "sourceUnit": 11307, "src": "70:43:22", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "@aragon/os/contracts/kernel/IKernel.sol", "file": "../kernel/IKernel.sol", "id": 10307, "nodeType": "ImportDirective", "scope": 10366, "sourceUnit": 12601, "src": "114:31:22", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 10365, "linearizedBaseContracts": [ 10365 ], "name": "AppStorage", "nodeType": "ContractDefinition", "nodes": [ { "id": 10310, "libraryName": { "contractScope": null, "id": 10308, "name": "UnstructuredStorage", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 11306, "src": "180:19:22", "typeDescriptions": { "typeIdentifier": "t_contract$_UnstructuredStorage_$11306", "typeString": "library UnstructuredStorage" } }, "nodeType": "UsingForDirective", "src": "174:38:22", "typeName": { "id": 10309, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "204:7:22", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } }, { "constant": true, "id": 10313, "name": "KERNEL_POSITION", "nodeType": "VariableDeclaration", "scope": 10365, "src": "441:110:22", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 10311, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "441:7:22", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": { "argumentTypes": null, "hexValue": "307834313732663066376432323839313533303732623061366361333639353965306362653265666333616665353066633831363336636161393633333831333762", "id": 10312, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "485:66:22", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_29603418823659377402517424791837662213071105721787245324259490738465228198779_by_1", "typeString": "int_const 2960...(69 digits omitted)...8779" }, "value": "0x4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b" }, "visibility": "internal" }, { "constant": true, "id": 10316, "name": "APP_ID_POSITION", "nodeType": "VariableDeclaration", "scope": 10365, "src": "557:110:22", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 10314, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "557:7:22", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": { "argumentTypes": null, "hexValue": "307864363235343936323137616136613334353365656362396333343839646335613533653663363762343434333239656132623263626339666635343736333962", "id": 10315, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "601:66:22", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_96860829410266183739968109275744835355652829419177135718944944339455505294235_by_1", "typeString": "int_const 9686...(69 digits omitted)...4235" }, "value": "0xd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b" }, "visibility": "internal" }, { "body": { "id": 10327, "nodeType": "Block", "src": "722:68:22", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 10322, "name": "KERNEL_POSITION", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 10313, "src": "747:15:22", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "id": 10323, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getStorageAddress", "nodeType": "MemberAccess", "referencedDeclaration": 11251, "src": "747:33:22", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$bound_to$_t_bytes32_$", "typeString": "function (bytes32) view returns (address)" } }, "id": 10324, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "747:35:22", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 10321, "name": "IKernel", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12600, "src": "739:7:22", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IKernel_$12600_$", "typeString": "type(contract IKernel)" } }, "id": 10325, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "739:44:22", "typeDescriptions": { "typeIdentifier": "t_contract$_IKernel_$12600", "typeString": "contract IKernel" } }, "functionReturnParameters": 10320, "id": 10326, "nodeType": "Return", "src": "732:51:22" } ] }, "documentation": null, "id": 10328, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "kernel", "nodeType": "FunctionDefinition", "parameters": { "id": 10317, "nodeType": "ParameterList", "parameters": [], "src": "689:2:22" }, "payable": false, "returnParameters": { "id": 10320, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 10319, "name": "", "nodeType": "VariableDeclaration", "scope": 10328, "src": "713:7:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_IKernel_$12600", "typeString": "contract IKernel" }, "typeName": { "contractScope": null, "id": 10318, "name": "IKernel", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12600, "src": "713:7:22", "typeDescriptions": { "typeIdentifier": "t_contract$_IKernel_$12600", "typeString": "contract IKernel" } }, "value": null, "visibility": "internal" } ], "src": "712:9:22" }, "scope": 10365, "src": "674:116:22", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 10337, "nodeType": "Block", "src": "843:59:22", "statements": [ { "expression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 10333, "name": "APP_ID_POSITION", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 10316, "src": "860:15:22", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "id": 10334, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getStorageBytes32", "nodeType": "MemberAccess", "referencedDeclaration": 11260, "src": "860:33:22", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$bound_to$_t_bytes32_$", "typeString": "function (bytes32) view returns (bytes32)" } }, "id": 10335, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "860:35:22", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "functionReturnParameters": 10332, "id": 10336, "nodeType": "Return", "src": "853:42:22" } ] }, "documentation": null, "id": 10338, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "appId", "nodeType": "FunctionDefinition", "parameters": { "id": 10329, "nodeType": "ParameterList", "parameters": [], "src": "810:2:22" }, "payable": false, "returnParameters": { "id": 10332, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 10331, "name": "", "nodeType": "VariableDeclaration", "scope": 10338, "src": "834:7:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 10330, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "834:7:22", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": null, "visibility": "internal" } ], "src": "833:9:22" }, "scope": 10365, "src": "796:106:22", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 10351, "nodeType": "Block", "src": "953:68:22", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 10347, "name": "_kernel", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 10340, "src": "1005:7:22", "typeDescriptions": { "typeIdentifier": "t_contract$_IKernel_$12600", "typeString": "contract IKernel" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_contract$_IKernel_$12600", "typeString": "contract IKernel" } ], "id": 10346, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "997:7:22", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 10348, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "997:16:22", "typeDescriptions": {