UNPKG

aibc

Version:
1,100 lines (1,099 loc) 216 kB
{ "contractName": "Strings", "abi": [], "metadata": "{\"compiler\":{\"version\":\"0.8.0+commit.c7dfd78e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"String operations.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Strings.sol\":\"Strings\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x456e9b3a2bfe189b5249857f624f4139e59331db518483b456c4e587a20552e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1123c9545decc48a011370ebab4bf53dda98524fa21f9498e68851ba8f0ffc0f\",\"dweb:/ipfs/QmUpgMg8EFDnv87ePKUjXxXpJT3qwHRj9VDNSnRxu7T9sy\"]}},\"version\":1}", "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205fed2da2d8fb46757d7fe2e93984f823ac795ad959ac35a07b4c32f4419b7c5664736f6c63430008000033", "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205fed2da2d8fb46757d7fe2e93984f823ac795ad959ac35a07b4c32f4419b7c5664736f6c63430008000033", "immutableReferences": {}, "generatedSources": [], "deployedGeneratedSources": [], "sourceMap": "93:1878:14:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "deployedSourceMap": "93:1878:14:-:0;;;;;;;;", "source": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\n/**\n * @dev String operations.\n */\nlibrary Strings {\n bytes16 private constant alphabet = \"0123456789abcdef\";\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` decimal representation.\n */\n function toString(uint256 value) internal pure returns (string memory) {\n // Inspired by OraclizeAPI's implementation - MIT licence\n // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol\n\n if (value == 0) {\n return \"0\";\n }\n uint256 temp = value;\n uint256 digits;\n while (temp != 0) {\n digits++;\n temp /= 10;\n }\n bytes memory buffer = new bytes(digits);\n while (value != 0) {\n digits -= 1;\n buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));\n value /= 10;\n }\n return string(buffer);\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation.\n */\n function toHexString(uint256 value) internal pure returns (string memory) {\n if (value == 0) {\n return \"0x00\";\n }\n uint256 temp = value;\n uint256 length = 0;\n while (temp != 0) {\n length++;\n temp >>= 8;\n }\n return toHexString(value, length);\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length.\n */\n function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {\n bytes memory buffer = new bytes(2 * length + 2);\n buffer[0] = \"0\";\n buffer[1] = \"x\";\n for (uint256 i = 2 * length + 1; i > 1; --i) {\n buffer[i] = alphabet[value & 0xf];\n value >>= 4;\n }\n require(value == 0, \"Strings: hex length insufficient\");\n return string(buffer);\n }\n\n}\n", "sourcePath": "@openzeppelin\\contracts\\utils\\Strings.sol", "ast": { "absolutePath": "@openzeppelin/contracts/utils/Strings.sol", "exportedSymbols": { "Strings": [ 4284 ] }, "id": 4285, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { "id": 4083, "literals": [ "solidity", "^", "0.8", ".0" ], "nodeType": "PragmaDirective", "src": "33:23:14" }, { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "library", "documentation": { "id": 4084, "nodeType": "StructuredDocumentation", "src": "58:34:14", "text": " @dev String operations." }, "fullyImplemented": true, "id": 4284, "linearizedBaseContracts": [ 4284 ], "name": "Strings", "nodeType": "ContractDefinition", "nodes": [ { "constant": true, "id": 4087, "mutability": "constant", "name": "alphabet", "nodeType": "VariableDeclaration", "scope": 4284, "src": "115:54:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 4085, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "115:7:14", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": { "hexValue": "30313233343536373839616263646566", "id": 4086, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "151:18:14", "typeDescriptions": { "typeIdentifier": "t_stringliteral_cb29997ed99ead0db59ce4d12b7d3723198c827273e5796737c926d78019c39f", "typeString": "literal_string \"0123456789abcdef\"" }, "value": "0123456789abcdef" }, "visibility": "private" }, { "body": { "id": 4165, "nodeType": "Block", "src": "342:632:14", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 4097, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 4095, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4090, "src": "544:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "hexValue": "30", "id": 4096, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "553:1:14", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "544:10:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 4101, "nodeType": "IfStatement", "src": "540:51:14", "trueBody": { "id": 4100, "nodeType": "Block", "src": "556:35:14", "statements": [ { "expression": { "hexValue": "30", "id": 4098, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "577:3:14", "typeDescriptions": { "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d", "typeString": "literal_string \"0\"" }, "value": "0" }, "functionReturnParameters": 4094, "id": 4099, "nodeType": "Return", "src": "570:10:14" } ] } }, { "assignments": [ 4103 ], "declarations": [ { "constant": false, "id": 4103, "mutability": "mutable", "name": "temp", "nodeType": "VariableDeclaration", "scope": 4165, "src": "600:12:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 4102, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "600:7:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 4105, "initialValue": { "id": 4104, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4090, "src": "615:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "600:20:14" }, { "assignments": [ 4107 ], "declarations": [ { "constant": false, "id": 4107, "mutability": "mutable", "name": "digits", "nodeType": "VariableDeclaration", "scope": 4165, "src": "630:14:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 4106, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "630:7:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 4108, "nodeType": "VariableDeclarationStatement", "src": "630:14:14" }, { "body": { "id": 4119, "nodeType": "Block", "src": "672:57:14", "statements": [ { "expression": { "id": 4113, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "686:8:14", "subExpression": { "id": 4112, "name": "digits", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4107, "src": "686:6:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 4114, "nodeType": "ExpressionStatement", "src": "686:8:14" }, { "expression": { "id": 4117, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 4115, "name": "temp", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4103, "src": "708:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "/=", "rightHandSide": { "hexValue": "3130", "id": 4116, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "716:2:14", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" }, "value": "10" }, "src": "708:10:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 4118, "nodeType": "ExpressionStatement", "src": "708:10:14" } ] }, "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 4111, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 4109, "name": "temp", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4103, "src": "661:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "hexValue": "30", "id": 4110, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "669:1:14", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "661:9:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 4120, "nodeType": "WhileStatement", "src": "654:75:14" }, { "assignments": [ 4122 ], "declarations": [ { "constant": false, "id": 4122, "mutability": "mutable", "name": "buffer", "nodeType": "VariableDeclaration", "scope": 4165, "src": "738:19:14", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 4121, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "738:5:14", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "id": 4127, "initialValue": { "arguments": [ { "id": 4125, "name": "digits", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4107, "src": "770:6:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 4124, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", "src": "760:9:14", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", "typeString": "function (uint256) pure returns (bytes memory)" }, "typeName": { "id": 4123, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "764:5:14", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } } }, "id": 4126, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "760:17:14", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "nodeType": "VariableDeclarationStatement", "src": "738:39:14" }, { "body": { "id": 4158, "nodeType": "Block", "src": "806:131:14", "statements": [ { "expression": { "id": 4133, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 4131, "name": "digits", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4107, "src": "820:6:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "-=", "rightHandSide": { "hexValue": "31", "id": 4132, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "830:1:14", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "820:11:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 4134, "nodeType": "ExpressionStatement", "src": "820:11:14" }, { "expression": { "id": 4152, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { "id": 4135, "name": "buffer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4122, "src": "845:6:14", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 4137, "indexExpression": { "id": 4136, "name": "digits", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4107, "src": "852:6:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "845:14:14", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "arguments": [ { "arguments": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 4149, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "3438", "id": 4142, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "875:2:14", "typeDescriptions": { "typeIdentifier": "t_rational_48_by_1", "typeString": "int_const 48" }, "value": "48" }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "arguments": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 4147, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 4145, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4090, "src": "888:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "%", "rightExpression": { "hexValue": "3130", "id": 4146, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "896:2:14", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" }, "value": "10" }, "src": "888:10:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 4144, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "880:7:14", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 4143, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "880:7:14", "typeDescriptions": {} } }, "id": 4148, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "880:19:14", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "875:24:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 4141, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "869:5:14", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": { "id": 4140, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "869:5:14", "typeDescriptions": {} } }, "id": 4150, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "869:31:14", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint8", "typeString": "uint8" } ], "id": 4139, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "862:6:14", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": { "id": 4138, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "862:6:14", "typeDescriptions": {} } }, "id": 4151, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "862:39:14", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "src": "845:56:14", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "id": 4153, "nodeType": "ExpressionStatement", "src": "845:56:14" }, { "expression": { "id": 4156, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 4154, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4090, "src": "915:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "/=", "rightHandSide": { "hexValue": "3130", "id": 4155, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "924:2:14", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" }, "value": "10" }, "src": "915:11:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 4157, "nodeType": "ExpressionStatement", "src": "915:11:14" } ] }, "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 4130, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 4128, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4090, "src": "794:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "hexValue": "30", "id": 4129, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "803:1:14", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "794:10:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 4159, "nodeType": "WhileStatement", "src": "787:150:14" }, { "expression": { "arguments": [ { "id": 4162, "name": "buffer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4122, "src": "960:6:14", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 4161, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "953:6:14", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { "id": 4160, "name": "string", "nodeType": "ElementaryTypeName", "src": "953:6:14", "typeDescriptions": {} } }, "id": 4163, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "953:14:14", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "functionReturnParameters": 4094, "id": 4164, "nodeType": "Return", "src": "946:21:14" } ] }, "documentation": { "id": 4088, "nodeType": "StructuredDocumentation", "src": "176:90:14", "text": " @dev Converts a `uint256` to its ASCII `string` decimal representation." }, "id": 4166, "implemented": true, "kind": "function", "modifiers": [], "name": "toString", "nodeType": "FunctionDefinition", "parameters": { "id": 4091, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 4090, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "scope": 4166, "src": "289:13:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 4089, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "289:7:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "288:15:14" }, "returnParameters": { "id": 4094, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 4093, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "scope": 4166, "src": "327:13:14", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 4092, "name": "string", "nodeType": "ElementaryTypeName", "src": "327:6:14", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "326:15:14" }, "scope": 4284, "src": "271:703:14", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 4206, "nodeType": "Block", "src": "1153:255:14", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 4176, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 4174, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4169, "src": "1167:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "hexValue": "30",