@aragon/apps-payroll
Version:
_**Code in Github:**_ [aragon-apps/apps/payroll](https://github.com/aragon/aragon-apps/tree/master/future-apps/payroll)
1,259 lines (1,258 loc) • 58.2 kB
JSON
{
"contractName": "ConversionHelpers",
"abi": [],
"bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a723058208b738646406e75afbac8bf4e93ee70c7528429a0a9d6954f193ea701fc565cee0029",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a723058208b738646406e75afbac8bf4e93ee70c7528429a0a9d6954f193ea701fc565cee0029",
"sourceMap": "27:1274:25:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24",
"deployedSourceMap": "27:1274:25:-;;;;;;;;",
"source": "pragma solidity ^0.4.24;\n\n\nlibrary ConversionHelpers {\n string private constant ERROR_IMPROPER_LENGTH = \"CONVERSION_IMPROPER_LENGTH\";\n\n function dangerouslyCastUintArrayToBytes(uint256[] memory _input) internal pure returns (bytes memory output) {\n // Force cast the uint256[] into a bytes array, by overwriting its length\n // Note that the bytes array doesn't need to be initialized as we immediately overwrite it\n // with the input and a new length. The input becomes invalid from this point forward.\n uint256 byteLength = _input.length * 32;\n assembly {\n output := _input\n mstore(output, byteLength)\n }\n }\n\n function dangerouslyCastBytesToUintArray(bytes memory _input) internal pure returns (uint256[] memory output) {\n // Force cast the bytes array into a uint256[], by overwriting its length\n // Note that the uint256[] doesn't need to be initialized as we immediately overwrite it\n // with the input and a new length. The input becomes invalid from this point forward.\n uint256 intsLength = _input.length / 32;\n require(_input.length == intsLength * 32, ERROR_IMPROPER_LENGTH);\n\n assembly {\n output := _input\n mstore(output, intsLength)\n }\n }\n}\n",
"sourcePath": "@aragon/os/contracts/common/ConversionHelpers.sol",
"ast": {
"absolutePath": "@aragon/os/contracts/common/ConversionHelpers.sol",
"exportedSymbols": {
"ConversionHelpers": [
10552
]
},
"id": 10553,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 10504,
"literals": [
"solidity",
"^",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
"src": "0:24:25"
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "library",
"documentation": null,
"fullyImplemented": true,
"id": 10552,
"linearizedBaseContracts": [
10552
],
"name": "ConversionHelpers",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": true,
"id": 10507,
"name": "ERROR_IMPROPER_LENGTH",
"nodeType": "VariableDeclaration",
"scope": 10552,
"src": "59:76:25",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory",
"typeString": "string"
},
"typeName": {
"id": 10505,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "59:6:25",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": {
"argumentTypes": null,
"hexValue": "434f4e56455253494f4e5f494d50524f5045525f4c454e475448",
"id": 10506,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "107:28:25",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_ae6d458f7ae195283b1a4bf6b9fa548b37b2bd69e195d2a474f8d91bafa132ba",
"typeString": "literal_string \"CONVERSION_IMPROPER_LENGTH\""
},
"value": "CONVERSION_IMPROPER_LENGTH"
},
"visibility": "private"
},
{
"body": {
"id": 10523,
"nodeType": "Block",
"src": "252:429:25",
"statements": [
{
"assignments": [
10516
],
"declarations": [
{
"constant": false,
"id": 10516,
"name": "byteLength",
"nodeType": "VariableDeclaration",
"scope": 10524,
"src": "538:18:25",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 10515,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "538:7:25",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 10521,
"initialValue": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 10520,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 10517,
"name": "_input",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10510,
"src": "559:6:25",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
"typeString": "uint256[] memory"
}
},
"id": 10518,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "length",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "559:13:25",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "*",
"rightExpression": {
"argumentTypes": null,
"hexValue": "3332",
"id": 10519,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "575:2:25",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_32_by_1",
"typeString": "int_const 32"
},
"value": "32"
},
"src": "559:18:25",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "538:39:25"
},
{
"externalReferences": [
{
"_input": {
"declaration": 10510,
"isOffset": false,
"isSlot": false,
"src": "620:6:25",
"valueSize": 1
}
},
{
"output": {
"declaration": 10513,
"isOffset": false,
"isSlot": false,
"src": "610:6:25",
"valueSize": 1
}
},
{
"output": {
"declaration": 10513,
"isOffset": false,
"isSlot": false,
"src": "646:6:25",
"valueSize": 1
}
},
{
"byteLength": {
"declaration": 10516,
"isOffset": false,
"isSlot": false,
"src": "654:10:25",
"valueSize": 1
}
}
],
"id": 10522,
"nodeType": "InlineAssembly",
"operations": "{\n output := _input\n mstore(output, byteLength)\n}",
"src": "587:94:25"
}
]
},
"documentation": null,
"id": 10524,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "dangerouslyCastUintArrayToBytes",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 10511,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 10510,
"name": "_input",
"nodeType": "VariableDeclaration",
"scope": 10524,
"src": "183:23:25",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
"typeString": "uint256[]"
},
"typeName": {
"baseType": {
"id": 10508,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "183:7:25",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 10509,
"length": null,
"nodeType": "ArrayTypeName",
"src": "183:9:25",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
"typeString": "uint256[]"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "182:25:25"
},
"payable": false,
"returnParameters": {
"id": 10514,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 10513,
"name": "output",
"nodeType": "VariableDeclaration",
"scope": 10524,
"src": "231:19:25",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 10512,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "231:5:25",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "230:21:25"
},
"scope": 10552,
"src": "142:539:25",
"stateMutability": "pure",
"superFunction": null,
"visibility": "internal"
},
{
"body": {
"id": 10550,
"nodeType": "Block",
"src": "797:502:25",
"statements": [
{
"assignments": [
10533
],
"declarations": [
{
"constant": false,
"id": 10533,
"name": "intsLength",
"nodeType": "VariableDeclaration",
"scope": 10551,
"src": "1081:18:25",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 10532,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1081:7:25",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 10538,
"initialValue": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 10537,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 10534,
"name": "_input",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10526,
"src": "1102:6:25",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
"id": 10535,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "length",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "1102:13:25",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "/",
"rightExpression": {
"argumentTypes": null,
"hexValue": "3332",
"id": 10536,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1118:2:25",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_32_by_1",
"typeString": "int_const 32"
},
"value": "32"
},
"src": "1102:18:25",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "1081:39:25"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 10545,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 10540,
"name": "_input",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10526,
"src": "1138:6:25",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
"id": 10541,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "length",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "1138:13:25",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 10544,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 10542,
"name": "intsLength",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10533,
"src": "1155:10:25",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "*",
"rightExpression": {
"argumentTypes": null,
"hexValue": "3332",
"id": 10543,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1168:2:25",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_32_by_1",
"typeString": "int_const 32"
},
"value": "32"
},
"src": "1155:15:25",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "1138:32:25",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"id": 10546,
"name": "ERROR_IMPROPER_LENGTH",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10507,
"src": "1172:21:25",
"typeDescriptions": {
"typeIdentifier": "t_string_memory",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_string_memory",
"typeString": "string memory"
}
],
"id": 10539,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
15156,
15157
],
"referencedDeclaration": 15157,
"src": "1130:7:25",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 10547,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1130:64:25",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 10548,
"nodeType": "ExpressionStatement",
"src": "1130:64:25"
},
{
"externalReferences": [
{
"_input": {
"declaration": 10526,
"isOffset": false,
"isSlot": false,
"src": "1238:6:25",
"valueSize": 1
}
},
{
"output": {
"declaration": 10530,
"isOffset": false,
"isSlot": false,
"src": "1228:6:25",
"valueSize": 1
}
},
{
"output": {
"declaration": 10530,
"isOffset": false,
"isSlot": false,
"src": "1264:6:25",
"valueSize": 1
}
},
{
"intsLength": {
"declaration": 10533,
"isOffset": false,
"isSlot": false,
"src": "1272:10:25",
"valueSize": 1
}
}
],
"id": 10549,
"nodeType": "InlineAssembly",
"operations": "{\n output := _input\n mstore(output, intsLength)\n}",
"src": "1205:94:25"
}
]
},
"documentation": null,
"id": 10551,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "dangerouslyCastBytesToUintArray",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 10527,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 10526,
"name": "_input",
"nodeType": "VariableDeclaration",
"scope": 10551,
"src": "728:19:25",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 10525,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "728:5:25",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "727:21:25"
},
"payable": false,
"returnParameters": {
"id": 10531,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 10530,
"name": "output",
"nodeType": "VariableDeclaration",
"scope": 10551,
"src": "772:23:25",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
"typeString": "uint256[]"
},
"typeName": {
"baseType": {
"id": 10528,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "772:7:25",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 10529,
"length": null,
"nodeType": "ArrayTypeName",
"src": "772:9:25",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
"typeString": "uint256[]"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "771:25:25"
},
"scope": 10552,
"src": "687:612:25",
"stateMutability": "pure",
"superFunction": null,
"visibility": "internal"
}
],
"scope": 10553,
"src": "27:1274:25"
}
],
"src": "0:1302:25"
},
"legacyAST": {
"absolutePath": "@aragon/os/contracts/common/ConversionHelpers.sol",
"exportedSymbols": {
"ConversionHelpers": [
10552
]
},
"id": 10553,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 10504,
"literals": [
"solidity",
"^",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
"src": "0:24:25"
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "library",
"documentation": null,
"fullyImplemented": true,
"id": 10552,
"linearizedBaseContracts": [
10552
],
"name": "ConversionHelpers",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": true,
"id": 10507,
"name": "ERROR_IMPROPER_LENGTH",
"nodeType": "VariableDeclaration",
"scope": 10552,
"src": "59:76:25",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory",
"typeString": "string"
},
"typeName": {
"id": 10505,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "59:6:25",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": {
"argumentTypes": null,
"hexValue": "434f4e56455253494f4e5f494d50524f5045525f4c454e475448",
"id": 10506,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "107:28:25",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_ae6d458f7ae195283b1a4bf6b9fa548b37b2bd69e195d2a474f8d91bafa132ba",
"typeString": "literal_string \"CONVERSION_IMPROPER_LENGTH\""
},
"value": "CONVERSION_IMPROPER_LENGTH"
},
"visibility": "private"
},
{
"body": {
"id": 10523,
"nodeType": "Block",
"src": "252:429:25",
"statements": [
{
"assignments": [
10516
],
"declarations": [
{
"constant": false,
"id": 10516,
"name": "byteLength",
"nodeType": "VariableDeclaration",
"scope": 10524,
"src": "538:18:25",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 10515,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "538:7:25",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 10521,
"initialValue": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 10520,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 10517,
"name": "_input",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10510,
"src": "559:6:25",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
"typeString": "uint256[] memory"
}
},
"id": 10518,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "length",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "559:13:25",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "*",
"rightExpression": {
"argumentTypes": null,
"hexValue": "3332",
"id": 10519,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "575:2:25",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_32_by_1",
"typeString": "int_const 32"
},
"value": "32"
},
"src": "559:18:25",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "538:39:25"
},
{
"externalReferences": [
{
"_input": {
"declaration": 10510,
"isOffset": false,
"isSlot": false,
"src": "620:6:25",
"valueSize": 1
}
},
{
"output": {
"declaration": 10513,
"isOffset": false,
"isSlot": false,
"src": "610:6:25",
"valueSize": 1
}
},
{
"output": {
"declaration": 10513,
"isOffset": false,
"isSlot": false,
"src": "646:6:25",
"valueSize": 1
}
},
{
"byteLength": {
"declaration": 10516,
"isOffset": false,
"isSlot": false,
"src": "654:10:25",
"valueSize": 1
}
}
],
"id": 10522,
"nodeType": "InlineAssembly",
"operations": "{\n output := _input\n mstore(output, byteLength)\n}",
"src": "587:94:25"
}
]
},
"documentation": null,
"id": 10524,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "dangerouslyCastUintArrayToBytes",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 10511,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 10510,
"name": "_input",
"nodeType": "VariableDeclaration",
"scope": 10524,
"src": "183:23:25",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
"typeString": "uint256[]"
},
"typeName": {
"baseType": {
"id": 10508,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "183:7:25",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 10509,
"length": null,
"nodeType": "ArrayTypeName",
"src": "183:9:25",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
"typeString": "uint256[]"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "182:25:25"
},
"payable": false,
"returnParameters": {
"id": 10514,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 10513,
"name": "output",
"nodeType": "VariableDeclaration",
"scope": 10524,
"src": "231:19:25",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 10512,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "231:5:25",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "230:21:25"
},
"scope": 10552,
"src": "142:539:25",
"stateMutability": "pure",
"superFunction": null,
"visibility": "internal"
},
{
"body": {
"id": 10550,
"nodeType": "Block",
"src": "797:502:25",
"statements": [
{
"assignments": [
10533
],
"declarations": [
{
"constant": false,
"id": 10533,
"name": "intsLength",
"nodeType": "VariableDeclaration",
"scope": 10551,
"src": "1081:18:25",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 10532,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1081:7:25",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 10538,
"initialValue": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 10537,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 10534,
"name": "_input",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10526,
"src": "1102:6:25",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
"id": 10535,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "length",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "1102:13:25",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "/",
"rightExpression": {
"argumentTypes": null,
"hexValue": "3332",
"id": 10536,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1118:2:25",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_32_by_1",
"typeString": "int_const 32"
},
"value": "32"
},
"src": "1102:18:25",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "1081:39:25"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 10545,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 10540,
"name": "_input",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10526,
"src": "1138:6:25",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
"id": 10541,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "length",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "1138:13:25",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 10544,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 10542,
"name": "intsLength",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10533,
"src": "1155:10:25",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "*",
"rightExpression": {
"argumentTypes": null,
"hexValue": "3332",
"id": 10543,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1168:2:25",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_32_by_1",