@kollateral/kollateral-contracts
Version:
1,114 lines (1,113 loc) • 214 kB
JSON
{
"contractName": "Debuggable",
"abi": [
{
"inputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor"
}
],
"metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/kbrizzle/code/kollateral/protocol/contracts/testing/Debuggable.sol\":\"Debuggable\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/kbrizzle/code/kollateral/protocol/contracts/testing/Debuggable.sol\":{\"keccak256\":\"0xeb0b1a4e8cb1743059064df0f30bd6168f7d5edc188c5e2d27623e7a49e2f893\",\"urls\":[\"bzz-raw://cf390f7745e1957d9fbcffc0f5ad9bd4954191cf9fa97d8de7dee9a2e8736afd\",\"dweb:/ipfs/QmcoCjnsD5hhkHbE5YUDv81spYZtbuJ8UzMTjNvTnVdab3\"]}},\"version\":1}",
"bytecode": "0x",
"deployedBytecode": "0x",
"sourceMap": "",
"deployedSourceMap": "",
"source": "pragma solidity ^0.5.0;\n\ncontract Debuggable {\n constructor () internal { }\n\n function toString(uint _base)\n internal\n pure\n returns (string memory) {\n bytes memory _tmp = new bytes(32);\n uint i;\n for(i = 0;_base > 0;i++) {\n _tmp[i] = byte(uint8((_base % 10) + 48));\n _base /= 10;\n }\n bytes memory _real = new bytes(i--);\n for(uint j = 0; j < _real.length; j++) {\n _real[j] = _tmp[i--];\n }\n return string(_real);\n }\n\n function concat(string memory _base, string memory _value)\n internal\n pure\n returns (string memory) {\n bytes memory _baseBytes = bytes(_base);\n bytes memory _valueBytes = bytes(_value);\n\n assert(_valueBytes.length > 0);\n\n string memory _tmpValue = new string(_baseBytes.length +\n _valueBytes.length);\n bytes memory _newValue = bytes(_tmpValue);\n\n uint i;\n uint j;\n\n for (i = 0; i < _baseBytes.length; i++) {\n _newValue[j++] = _baseBytes[i];\n }\n\n for (i = 0; i < _valueBytes.length; i++) {\n _newValue[j++] = _valueBytes[i];\n }\n\n return string(_newValue);\n }\n}\n",
"sourcePath": "/Users/kbrizzle/code/kollateral/protocol/contracts/testing/Debuggable.sol",
"ast": {
"absolutePath": "/Users/kbrizzle/code/kollateral/protocol/contracts/testing/Debuggable.sol",
"exportedSymbols": {
"Debuggable": [
2264
]
},
"id": 2265,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 2076,
"literals": [
"solidity",
"^",
"0.5",
".0"
],
"nodeType": "PragmaDirective",
"src": "0:23:10"
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 2264,
"linearizedBaseContracts": [
2264
],
"name": "Debuggable",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": {
"id": 2079,
"nodeType": "Block",
"src": "75:3:10",
"statements": []
},
"documentation": null,
"id": 2080,
"implemented": true,
"kind": "constructor",
"modifiers": [],
"name": "",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2077,
"nodeType": "ParameterList",
"parameters": [],
"src": "63:2:10"
},
"returnParameters": {
"id": 2078,
"nodeType": "ParameterList",
"parameters": [],
"src": "75:0:10"
},
"scope": 2264,
"src": "51:27:10",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "internal"
},
{
"body": {
"id": 2162,
"nodeType": "Block",
"src": "164:358:10",
"statements": [
{
"assignments": [
2088
],
"declarations": [
{
"constant": false,
"id": 2088,
"name": "_tmp",
"nodeType": "VariableDeclaration",
"scope": 2162,
"src": "174:17:10",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 2087,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "174:5:10",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 2093,
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "3332",
"id": 2091,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "204:2:10",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_32_by_1",
"typeString": "int_const 32"
},
"value": "32"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_32_by_1",
"typeString": "int_const 32"
}
],
"id": 2090,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "NewExpression",
"src": "194:9:10",
"typeDescriptions": {
"typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$",
"typeString": "function (uint256) pure returns (bytes memory)"
},
"typeName": {
"id": 2089,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "198:5:10",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
}
},
"id": 2092,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "194:13:10",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory",
"typeString": "bytes memory"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "174:33:10"
},
{
"assignments": [
2095
],
"declarations": [
{
"constant": false,
"id": 2095,
"name": "i",
"nodeType": "VariableDeclaration",
"scope": 2162,
"src": "217:6:10",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2094,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "217:4:10",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 2096,
"initialValue": null,
"nodeType": "VariableDeclarationStatement",
"src": "217:6:10"
},
{
"body": {
"id": 2126,
"nodeType": "Block",
"src": "258:90:10",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 2120,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 2107,
"name": "_tmp",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2088,
"src": "272:4:10",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
"id": 2109,
"indexExpression": {
"argumentTypes": null,
"id": 2108,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2095,
"src": "277:1:10",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
"src": "272:7:10",
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 2117,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"components": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 2114,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 2112,
"name": "_base",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2082,
"src": "294:5:10",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "%",
"rightExpression": {
"argumentTypes": null,
"hexValue": "3130",
"id": 2113,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "302:2:10",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_10_by_1",
"typeString": "int_const 10"
},
"value": "10"
},
"src": "294:10:10",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"id": 2115,
"isConstant": false,
"isInlineArray": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "TupleExpression",
"src": "293:12:10",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"argumentTypes": null,
"hexValue": "3438",
"id": 2116,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "308:2:10",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_48_by_1",
"typeString": "int_const 48"
},
"value": "48"
},
"src": "293:17:10",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 2111,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "287:5:10",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint8_$",
"typeString": "type(uint8)"
},
"typeName": "uint8"
},
"id": 2118,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "287:24:10",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
],
"id": 2110,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "282:4:10",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes1_$",
"typeString": "type(bytes1)"
},
"typeName": "byte"
},
"id": 2119,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "282:30:10",
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
"src": "272:40:10",
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
"id": 2121,
"nodeType": "ExpressionStatement",
"src": "272:40:10"
},
{
"expression": {
"argumentTypes": null,
"id": 2124,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 2122,
"name": "_base",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2082,
"src": "326:5:10",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "/=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "3130",
"id": 2123,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "335:2:10",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_10_by_1",
"typeString": "int_const 10"
},
"value": "10"
},
"src": "326:11:10",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 2125,
"nodeType": "ExpressionStatement",
"src": "326:11:10"
}
]
},
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 2103,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 2101,
"name": "_base",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2082,
"src": "243:5:10",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": ">",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30",
"id": 2102,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "251:1:10",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "243:9:10",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 2127,
"initializationExpression": {
"expression": {
"argumentTypes": null,
"id": 2099,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 2097,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2095,
"src": "237:1:10",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "30",
"id": 2098,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "241:1:10",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "237:5:10",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 2100,
"nodeType": "ExpressionStatement",
"src": "237:5:10"
},
"loopExpression": {
"expression": {
"argumentTypes": null,
"id": 2105,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "++",
"prefix": false,
"src": "253:3:10",
"subExpression": {
"argumentTypes": null,
"id": 2104,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2095,
"src": "253:1:10",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 2106,
"nodeType": "ExpressionStatement",
"src": "253:3:10"
},
"nodeType": "ForStatement",
"src": "233:115:10"
},
{
"assignments": [
2129
],
"declarations": [
{
"constant": false,
"id": 2129,
"name": "_real",
"nodeType": "VariableDeclaration",
"scope": 2162,
"src": "357:18:10",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 2128,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "357:5:10",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 2135,
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 2133,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "--",
"prefix": false,
"src": "388:3:10",
"subExpression": {
"argumentTypes": null,
"id": 2132,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2095,
"src": "388:1:10",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 2131,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "NewExpression",
"src": "378:9:10",
"typeDescriptions": {
"typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$",
"typeString": "function (uint256) pure returns (bytes memory)"
},
"typeName": {
"id": 2130,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "382:5:10",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
}
},
"id": 2134,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "378:14:10",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory",
"typeString": "bytes memory"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "357:35:10"
},
{
"body": {
"id": 2156,
"nodeType": "Block",
"src": "441:45:10",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 2154,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 2147,
"name": "_real",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2129,
"src": "455:5:10",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
"id": 2149,
"indexExpression": {
"argumentTypes": null,
"id": 2148,
"name": "j",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2137,
"src": "461:1:10",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
"src": "455:8:10",
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 2150,
"name": "_tmp",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2088,
"src": "466:4:10",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
"id": 2153,
"indexExpression": {
"argumentTypes": null,
"id": 2152,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "--",
"prefix": false,
"src": "471:3:10",
"subExpression": {
"argumentTypes": null,
"id": 2151,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2095,
"src": "471:1:10",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "466:9:10",
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
"src": "455:20:10",
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
"id": 2155,
"nodeType": "ExpressionStatement",
"src": "455:20:10"
}
]
},
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 2143,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 2140,
"name": "j",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2137,
"src": "418:1:10",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<",
"rightExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 2141,
"name": "_real",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2129,
"src": "422:5:10",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
"id": 2142,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "length",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "422:12:10",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "418:16:10",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 2157,
"initializationExpression": {
"assignments": [
2137
],
"declarations": [
{
"constant": false,
"id": 2137,
"name": "j",
"nodeType": "VariableDeclaration",
"scope": 2157,
"src": "406:6:10",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2136,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "406:4:10",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 2139,
"initialValue": {
"argumentTypes": null,
"hexValue": "30",
"id": 2138,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "415:1:10",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"nodeType": "VariableDeclarationStatement",
"src": "406:10:10"
},
"loopExpression": {
"expression": {
"argumentTypes": null,
"id": 2145,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "++",
"prefix": false,
"src": "436:3:10",
"subExpression": {
"argumentTypes": null,
"id": 2144,
"name": "j",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2137,
"src": "436:1:10",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 2146,
"nodeType": "ExpressionStatement",
"src": "436:3:10"
},
"nodeType": "ForStatement",
"src": "402:84:10"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 2159,
"name": "_real",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2129,
"src": "509:5:10",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"id": 2158,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "502:6:10",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_string_storage_ptr_$",
"typeString": "type(string storage pointer)"
},
"typeName": "string"
},
"id": 2160,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "502:13:10",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"functionReturnParameters": 2086,
"id": 2161,
"nodeType": "Return",
"src": "495:20:10"
}
]
},