UNPKG

tokenboost-solidity

Version:
1,268 lines (1,267 loc) 82.5 kB
{ "contractName": "ByteUtils", "abi": [], "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820d7bded153e59304a5d9f377c509e75cb7a1ed78013557e8fe8ec21bbb31b51ce0029", "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820d7bded153e59304a5d9f377c509e75cb7a1ed78013557e8fe8ec21bbb31b51ce0029", "sourceMap": "26:893:20:-;;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": "26:893:20:-;;;;;;;;", "source": "pragma solidity ^0.4.24;\n\nlibrary ByteUtils {\n function pointer(bytes memory self) internal pure returns (uint ptr) {\n assembly {\n ptr := add(self, 0x20)\n }\n }\n\n function copy(bytes memory self, uint toOffset, bytes memory from, uint fromOffset, uint length) internal pure {\n // Copy word-length chunks while possible\n uint toPtr = pointer(self) + toOffset;\n uint fromPtr = pointer(from) + fromOffset;\n for (; length >= 32; length -= 32) {\n assembly {\n mstore(toPtr, mload(fromPtr))\n }\n toPtr += 32;\n fromPtr += 32;\n }\n\n // Copy remaining bytes\n uint mask = 256 ** (32 - length) - 1;\n assembly {\n let fromPart := and(mload(fromPtr), not(mask))\n let toPart := and(mload(toPtr), mask)\n mstore(toPtr, or(toPart, fromPart))\n }\n }\n}", "sourcePath": "/Users/yoonjae/SolidityProjects/tokenboost-solidity/contracts/utils/ByteUtils.sol", "ast": { "absolutePath": "/Users/yoonjae/SolidityProjects/tokenboost-solidity/contracts/utils/ByteUtils.sol", "exportedSymbols": { "ByteUtils": [ 2385 ] }, "id": 2386, "nodeType": "SourceUnit", "nodes": [ { "id": 2315, "literals": [ "solidity", "^", "0.4", ".24" ], "nodeType": "PragmaDirective", "src": "0:24:20" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "library", "documentation": null, "fullyImplemented": true, "id": 2385, "linearizedBaseContracts": [ 2385 ], "name": "ByteUtils", "nodeType": "ContractDefinition", "nodes": [ { "body": { "id": 2323, "nodeType": "Block", "src": "119:71:20", "statements": [ { "externalReferences": [ { "ptr": { "declaration": 2320, "isOffset": false, "isSlot": false, "src": "152:3:20", "valueSize": 1 } }, { "self": { "declaration": 2317, "isOffset": false, "isSlot": false, "src": "163:4:20", "valueSize": 1 } } ], "id": 2322, "nodeType": "InlineAssembly", "operations": "{\n ptr := add(self, 0x20)\n}", "src": "129:61:20" } ] }, "documentation": null, "id": 2324, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "pointer", "nodeType": "FunctionDefinition", "parameters": { "id": 2318, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2317, "name": "self", "nodeType": "VariableDeclaration", "scope": 2324, "src": "67:17:20", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 2316, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "67:5:20", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "value": null, "visibility": "internal" } ], "src": "66:19:20" }, "payable": false, "returnParameters": { "id": 2321, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2320, "name": "ptr", "nodeType": "VariableDeclaration", "scope": 2324, "src": "109:8:20", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2319, "name": "uint", "nodeType": "ElementaryTypeName", "src": "109:4:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "108:10:20" }, "scope": 2385, "src": "50:140:20", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { "id": 2383, "nodeType": "Block", "src": "307:610:20", "statements": [ { "assignments": [ 2338 ], "declarations": [ { "constant": false, "id": 2338, "name": "toPtr", "nodeType": "VariableDeclaration", "scope": 2384, "src": "367:10:20", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2337, "name": "uint", "nodeType": "ElementaryTypeName", "src": "367:4:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 2344, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2343, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2340, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2326, "src": "388:4:20", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 2339, "name": "pointer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2324, "src": "380:7:20", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes memory) pure returns (uint256)" } }, "id": 2341, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "380:13:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "argumentTypes": null, "id": 2342, "name": "toOffset", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2328, "src": "396:8:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "380:24:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "367:37:20" }, { "assignments": [ 2346 ], "declarations": [ { "constant": false, "id": 2346, "name": "fromPtr", "nodeType": "VariableDeclaration", "scope": 2384, "src": "414:12:20", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2345, "name": "uint", "nodeType": "ElementaryTypeName", "src": "414:4:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 2352, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2351, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2348, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2330, "src": "437:4:20", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 2347, "name": "pointer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2324, "src": "429:7:20", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes memory) pure returns (uint256)" } }, "id": 2349, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "429:13:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "argumentTypes": null, "id": 2350, "name": "fromOffset", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2332, "src": "445:10:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "429:26:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "414:41:20" }, { "body": { "id": 2369, "nodeType": "Block", "src": "500:146:20", "statements": [ { "externalReferences": [ { "toPtr": { "declaration": 2338, "isOffset": false, "isSlot": false, "src": "548:5:20", "valueSize": 1 } }, { "fromPtr": { "declaration": 2346, "isOffset": false, "isSlot": false, "src": "561:7:20", "valueSize": 1 } } ], "id": 2360, "nodeType": "InlineAssembly", "operations": "{\n mstore(toPtr, mload(fromPtr))\n}", "src": "514:88:20" }, { "expression": { "argumentTypes": null, "id": 2363, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 2361, "name": "toPtr", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2338, "src": "597:5:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "+=", "rightHandSide": { "argumentTypes": null, "hexValue": "3332", "id": 2362, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "606:2:20", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, "src": "597:11:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2364, "nodeType": "ExpressionStatement", "src": "597:11:20" }, { "expression": { "argumentTypes": null, "id": 2367, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 2365, "name": "fromPtr", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2346, "src": "622:7:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "+=", "rightHandSide": { "argumentTypes": null, "hexValue": "3332", "id": 2366, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "633:2:20", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, "src": "622:13:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2368, "nodeType": "ExpressionStatement", "src": "622:13:20" } ] }, "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2355, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2353, "name": "length", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2334, "src": "472:6:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { "argumentTypes": null, "hexValue": "3332", "id": 2354, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "482:2:20", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, "src": "472:12:20", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 2370, "initializationExpression": null, "loopExpression": { "expression": { "argumentTypes": null, "id": 2358, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 2356, "name": "length", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2334, "src": "486:6:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "-=", "rightHandSide": { "argumentTypes": null, "hexValue": "3332", "id": 2357, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "496:2:20", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, "src": "486:12:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2359, "nodeType": "ExpressionStatement", "src": "486:12:20" }, "nodeType": "ForStatement", "src": "465:181:20" }, { "assignments": [ 2372 ], "declarations": [ { "constant": false, "id": 2372, "name": "mask", "nodeType": "VariableDeclaration", "scope": 2384, "src": "688:9:20", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2371, "name": "uint", "nodeType": "ElementaryTypeName", "src": "688:4:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 2381, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2380, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2378, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "hexValue": "323536", "id": 2373, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "700:3:20", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_256_by_1", "typeString": "int_const 256" }, "value": "256" }, "nodeType": "BinaryOperation", "operator": "**", "rightExpression": { "argumentTypes": null, "components": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2376, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "hexValue": "3332", "id": 2374, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "708:2:20", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "id": 2375, "name": "length", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2334, "src": "713:6:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "708:11:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 2377, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "707:13:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "700:20:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 2379, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "723:1:20", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "700:24:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "688:36:20" }, { "externalReferences": [ { "fromPtr": { "declaration": 2346, "isOffset": false, "isSlot": false, "src": "783:7:20", "valueSize": 1 } }, { "mask": { "declaration": 2372, "isOffset": false, "isSlot": false, "src": "797:4:20", "valueSize": 1 } }, { "toPtr": { "declaration": 2338, "isOffset": false, "isSlot": false, "src": "840:5:20", "valueSize": 1 } }, { "mask": { "declaration": 2372, "isOffset": false, "isSlot": false, "src": "848:4:20", "valueSize": 1 } }, { "toPtr": { "declaration": 2338, "isOffset": false, "isSlot": false, "src": "873:5:20", "valueSize": 1 } } ], "id": 2382, "nodeType": "InlineAssembly", "operations": "{\n let fromPart := and(mload(fromPtr), not(mask))\n let toPart := and(mload(toPtr), mask)\n mstore(toPtr, or(toPart, fromPart))\n}", "src": "734:183:20" } ] }, "documentation": null, "id": 2384, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "copy", "nodeType": "FunctionDefinition", "parameters": { "id": 2335, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2326, "name": "self", "nodeType": "VariableDeclaration", "scope": 2384, "src": "210:17:20", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 2325, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "210:5:20", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2328, "name": "toOffset", "nodeType": "VariableDeclaration", "scope": 2384, "src": "229:13:20", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2327, "name": "uint", "nodeType": "ElementaryTypeName", "src": "229:4:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2330, "name": "from", "nodeType": "VariableDeclaration", "scope": 2384, "src": "244:17:20", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 2329, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "244:5:20", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2332, "name": "fromOffset", "nodeType": "VariableDeclaration", "scope": 2384, "src": "263:15:20", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2331, "name": "uint", "nodeType": "ElementaryTypeName", "src": "263:4:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2334, "name": "length", "nodeType": "VariableDeclaration", "scope": 2384, "src": "280:11:20", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2333, "name": "uint", "nodeType": "ElementaryTypeName", "src": "280:4:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "209:83:20" }, "payable": false, "returnParameters": { "id": 2336, "nodeType": "ParameterList", "parameters": [], "src": "307:0:20" }, "scope": 2385, "src": "196:721:20", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], "scope": 2386, "src": "26:893:20" } ], "src": "0:919:20" }, "legacyAST": { "absolutePath": "/Users/yoonjae/SolidityProjects/tokenboost-solidity/contracts/utils/ByteUtils.sol", "exportedSymbols": { "ByteUtils": [ 2385 ] }, "id": 2386, "nodeType": "SourceUnit", "nodes": [ { "id": 2315, "literals": [ "solidity", "^", "0.4", ".24" ], "nodeType": "PragmaDirective", "src": "0:24:20" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "library", "documentation": null, "fullyImplemented": true, "id": 2385, "linearizedBaseContracts": [ 2385 ], "name": "ByteUtils", "nodeType": "ContractDefinition", "nodes": [ { "body": { "id": 2323, "nodeType": "Block", "src": "119:71:20", "statements": [ { "externalReferences": [ { "ptr": { "declaration": 2320, "isOffset": false, "isSlot": false, "src": "152:3:20", "valueSize": 1 } }, { "self": { "declaration": 2317, "isOffset": false, "isSlot": false, "src": "163:4:20", "valueSize": 1 } } ], "id": 2322, "nodeType": "InlineAssembly", "operations": "{\n ptr := add(self, 0x20)\n}", "src": "129:61:20" } ] }, "documentation": null, "id": 2324, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "pointer", "nodeType": "FunctionDefinition", "parameters": { "id": 2318, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2317, "name": "self", "nodeType": "VariableDeclaration", "scope": 2324, "src": "67:17:20", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 2316, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "67:5:20", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "value": null, "visibility": "internal" } ], "src": "66:19:20" }, "payable": false, "returnParameters": { "id": 2321, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2320, "name": "ptr", "nodeType": "VariableDeclaration", "scope": 2324, "src": "109:8:20", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2319, "name": "uint", "nodeType": "ElementaryTypeName", "src": "109:4:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "108:10:20" }, "scope": 2385, "src": "50:140:20", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { "id": 2383, "nodeType": "Block", "src": "307:610:20", "statements": [ { "assignments": [ 2338 ], "declarations": [ { "constant": false, "id": 2338, "name": "toPtr", "nodeType": "VariableDeclaration", "scope": 2384, "src": "367:10:20", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2337, "name": "uint", "nodeType": "ElementaryTypeName", "src": "367:4:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 2344, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2343, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2340, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2326, "src": "388:4:20", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 2339, "name": "pointer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2324, "src": "380:7:20", "typeDescriptions": {