{ "abi": [], "bytecode": { "object": "0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea264697066735822122021561c4acc3afb629f12e9c487836d820d79d612a38846fff840ecbaf60ed3c564736f6c63430008110033", "sourceMap": "188:2065:26:-:0;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x600080fdfea264697066735822122021561c4acc3afb629f12e9c487836d820d79d612a38846fff840ecbaf60ed3c564736f6c63430008110033", "sourceMap": "188:2065:26:-:0;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"String operations.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":\"Strings\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/=node_modules/@ensdomains/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eth-gas-reporter/=node_modules/eth-gas-reporter/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"],\"viaIR\":true},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.17+commit.8df45f5f" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ ":@ensdomains/=node_modules/@ensdomains/", ":@openzeppelin/=node_modules/@openzeppelin/", ":ds-test/=lib/forge-std/lib/ds-test/src/", ":eth-gas-reporter/=node_modules/eth-gas-reporter/", ":forge-std/=lib/forge-std/src/", ":hardhat-deploy/=node_modules/hardhat-deploy/", ":hardhat/=node_modules/hardhat/" ], "optimizer": { "enabled": true, "runs": 200 }, "metadata": { "bytecodeHash": "ipfs" }, "compilationTarget": { "node_modules/@openzeppelin/contracts/utils/Strings.sol": "Strings" }, "libraries": {}, "viaIR": true }, "sources": { "node_modules/@openzeppelin/contracts/utils/Strings.sol": { "keccak256": "0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a", "urls": [ "bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634", "dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/math/Math.sol": { "keccak256": "0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6", "urls": [ "bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b", "dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz" ], "license": "MIT" } }, "version": 1 }, "ast": { "absolutePath": "node_modules/@openzeppelin/contracts/utils/Strings.sol", "id": 27529, "exportedSymbols": { "Math": [ 28429 ], "Strings": [ 27528 ] }, "nodeType": "SourceUnit", "src": "101:2153:26", "nodes": [ { "id": 27355, "nodeType": "PragmaDirective", "src": "101:23:26", "nodes": [], "literals": [ "solidity", "^", "0.8", ".0" ] }, { "id": 27356, "nodeType": "ImportDirective", "src": "126:25:26", "nodes": [], "absolutePath": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "file": "./math/Math.sol", "nameLocation": "-1:-1:-1", "scope": 27529, "sourceUnit": 28430, "symbolAliases": [], "unitAlias": "" }, { "id": 27528, "nodeType": "ContractDefinition", "src": "188:2065:26", "nodes": [ { "id": 27360, "nodeType": "VariableDeclaration", "src": "210:54:26", "nodes": [], "constant": true, "mutability": "constant", "name": "_SYMBOLS", "nameLocation": "235:8:26", "scope": 27528, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 27358, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "210:7:26", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": { "hexValue": "30313233343536373839616263646566", "id": 27359, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "246:18:26", "typeDescriptions": { "typeIdentifier": "t_stringliteral_cb29997ed99ead0db59ce4d12b7d3723198c827273e5796737c926d78019c39f", "typeString": "literal_string \"0123456789abcdef\"" }, "value": "0123456789abcdef" }, "visibility": "private" }, { "id": 27363, "nodeType": "VariableDeclaration", "src": "270:43:26", "nodes": [], "constant": true, "mutability": "constant", "name": "_ADDRESS_LENGTH", "nameLocation": "293:15:26", "scope": 27528, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 27361, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "270:5:26", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "value": { "hexValue": "3230", "id": 27362, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "311:2:26", "typeDescriptions": { "typeIdentifier": "t_rational_20_by_1", "typeString": "int_const 20" }, "value": "20" }, "visibility": "private" }, { "id": 27411, "nodeType": "FunctionDefinition", "src": "415:696:26", "nodes": [], "body": { "id": 27410, "nodeType": "Block", "src": "486:625:26", "nodes": [], "statements": [ { "id": 27409, "nodeType": "UncheckedBlock", "src": "496:609:26", "statements": [ { "assignments": [ 27372 ], "declarations": [ { "constant": false, "id": 27372, "mutability": "mutable", "name": "length", "nameLocation": "528:6:26", "nodeType": "VariableDeclaration", "scope": 27409, "src": "520:14:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 27371, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "520:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 27379, "initialValue": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 27378, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "arguments": [ { "id": 27375, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27366, "src": "548:5:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "id": 27373, "name": "Math", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 28429, "src": "537:4:26", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_Math_$28429_$", "typeString": "type(library Math)" } }, "id": 27374, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "542:5:26", "memberName": "log10", "nodeType": "MemberAccess", "referencedDeclaration": 28266, "src": "537:10:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) pure returns (uint256)" } }, "id": 27376, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "537:17:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "hexValue": "31", "id": 27377, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "557:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "537:21:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "520:38:26" }, { "assignments": [ 27381 ], "declarations": [ { "constant": false, "id": 27381, "mutability": "mutable", "name": "buffer", "nameLocation": "586:6:26", "nodeType": "VariableDeclaration", "scope": 27409, "src": "572:20:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 27380, "name": "string", "nodeType": "ElementaryTypeName", "src": "572:6:26", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "id": 27386, "initialValue": { "arguments": [ { "id": 27384, "name": "length", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27372, "src": "606:6:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 27383, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", "src": "595:10:26", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_string_memory_ptr_$", "typeString": "function (uint256) pure returns (string memory)" }, "typeName": { "id": 27382, "name": "string", "nodeType": "ElementaryTypeName", "src": "599:6:26", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } } }, "id": 27385, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "595:18:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "nodeType": "VariableDeclarationStatement", "src": "572:41:26" }, { "assignments": [ 27388 ], "declarations": [ { "constant": false, "id": 27388, "mutability": "mutable", "name": "ptr", "nameLocation": "635:3:26", "nodeType": "VariableDeclaration", "scope": 27409, "src": "627:11:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 27387, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "627:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 27389, "nodeType": "VariableDeclarationStatement", "src": "627:11:26" }, { "AST": { "nodeType": "YulBlock", "src": "708:67:26", "statements": [ { "nodeType": "YulAssignment", "src": "726:35:26", "value": { "arguments": [ { "name": "buffer", "nodeType": "YulIdentifier", "src": "737:6:26" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "749:2:26", "type": "", "value": "32" }, { "name": "length", "nodeType": "YulIdentifier", "src": "753:6:26" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "745:3:26" }, "nodeType": "YulFunctionCall", "src": "745:15:26" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "733:3:26" }, "nodeType": "YulFunctionCall", "src": "733:28:26" }, "variableNames": [ { "name": "ptr", "nodeType": "YulIdentifier", "src": "726:3:26" } ] } ] }, "documentation": "@solidity memory-safe-assembly", "evmVersion": "london", "externalReferences": [ { "declaration": 27381, "isOffset": false, "isSlot": false, "src": "737:6:26", "valueSize": 1 }, { "declaration": 27372, "isOffset": false, "isSlot": false, "src": "753:6:26", "valueSize": 1 }, { "declaration": 27388, "isOffset": false, "isSlot": false, "src": "726:3:26", "valueSize": 1 } ], "id": 27390, "nodeType": "InlineAssembly", "src": "699:76:26" }, { "body": { "id": 27405, "nodeType": "Block", "src": "801:267:26", "statements": [ { "expression": { "id": 27393, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "--", "prefix": false, "src": "819:5:26", "subExpression": { "id": 27392, "name": "ptr", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27388, "src": "819:3:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 27394, "nodeType": "ExpressionStatement", "src": "819:5:26" }, { "AST": { "nodeType": "YulBlock", "src": "902:84:26", "statements": [ { "expression": { "arguments": [ { "name": "ptr", "nodeType": "YulIdentifier", "src": "932:3:26" }, { "arguments": [ { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "946:5:26" }, { "kind": "number", "nodeType": "YulLiteral", "src": "953:2:26", "type": "", "value": "10" } ], "functionName": { "name": "mod", "nodeType": "YulIdentifier", "src": "942:3:26" }, "nodeType": "YulFunctionCall", "src": "942:14:26" }, { "name": "_SYMBOLS", "nodeType": "YulIdentifier", "src": "958:8:26" } ], "functionName": { "name": "byte", "nodeType": "YulIdentifier", "src": "937:4:26" }, "nodeType": "YulFunctionCall", "src": "937:30:26" } ], "functionName": { "name": "mstore8", "nodeType": "YulIdentifier", "src": "924:7:26" }, "nodeType": "YulFunctionCall", "src": "924:44:26" }, "nodeType": "YulExpressionStatement", "src": "924:44:26" } ] }, "documentation": "@solidity memory-safe-assembly", "evmVersion": "london", "externalReferences": [ { "declaration": 27360, "isOffset": false, "isSlot": false, "src": "958:8:26", "valueSize": 1 }, { "declaration": 27388, "isOffset": false, "isSlot": false, "src": "932:3:26", "valueSize": 1 }, { "declaration": 27366, "isOffset": false, "isSlot": false, "src": "946:5:26", "valueSize": 1 } ], "id": 27395, "nodeType": "InlineAssembly", "src": "893:93:26" }, { "expression": { "id": 27398, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 27396, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27366, "src": "1003:5:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "/=", "rightHandSide": { "hexValue": "3130", "id": 27397, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1012:2:26", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" }, "value": "10" }, "src": "1003:11:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 27399, "nodeType": "ExpressionStatement", "src": "1003:11:26" }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 27402, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 27400, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27366, "src": "1036:5:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "hexValue": "30", "id": 27401, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1045:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "1036:10:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 27404, "nodeType": "IfStatement", "src": "1032:21:26", "trueBody": { "id": 27403, "nodeType": "Break", "src": "1048:5:26" } } ] }, "condition": { "hexValue": "74727565", "id": 27391, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "795:4:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "id": 27406, "nodeType": "WhileStatement", "src": "788:280:26" }, { "expression": { "id": 27407, "name": "buffer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27381, "src": "1088:6:26", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "functionReturnParameters": 27370, "id": 27408, "nodeType": "Return", "src": "1081:13:26" } ] } ] }, "documentation": { "id": 27364, "nodeType": "StructuredDocumentation", "src": "320:90:26", "text": " @dev Converts a `uint256` to its ASCII `string` decimal representation." }, "implemented": true, "kind": "function", "modifiers": [], "name": "toString", "nameLocation": "424:8:26", "parameters": { "id": 27367, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27366, "mutability": "mutable", "name": "value", "nameLocation": "441:5:26", "nodeType": "VariableDeclaration", "scope": 27411, "src": "433:13:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 27365, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "433:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "432:15:26" }, "returnParameters": { "id": 27370, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27369, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 27411, "src": "471:13:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 27368, "name": "string", "nodeType": "ElementaryTypeName", "src": "471:6:26", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "470:15:26" }, "scope": 27528, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "id": 27431, "nodeType": "FunctionDefinition", "src": "1216:174:26", "nodes": [], "body": { "id": 27430, "nodeType": "Block", "src": "1290:100:26", "nodes": [], "statements": [ { "id": 27429, "nodeType": "UncheckedBlock", "src": "1300:84:26", "statements": [ { "expression": { "arguments": [ { "id": 27420, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27414, "src": "1343:5:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 27426, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "arguments": [ { "id": 27423, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27414, "src": "1362:5:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "id": 27421, "name": "Math", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 28429, "src": "1350:4:26", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_Math_$28429_$", "typeString": "type(library Math)" } }, "id": 27422, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "1355:6:26", "memberName": "log256", "nodeType": "MemberAccess", "referencedDeclaration": 28389, "src": "1350:11:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) pure returns (uint256)" } }, "id": 27424, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1350:18:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "hexValue": "31", "id": 27425, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1371:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "1350:22:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 27419, "name": "toHexString", "nodeType": "Identifier", "overloadedDeclarations": [ 27431, 27507, 27527 ], "referencedDeclaration": 27507, "src": "1331:11:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$", "typeString": "function (uint256,uint256) pure returns (string memory)" } }, "id": 27427, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1331:42:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "functionReturnParameters": 27418, "id": 27428, "nodeType": "Return", "src": "1324:49:26" } ] } ] }, "documentation": { "id": 27412, "nodeType": "StructuredDocumentation", "src": "1117:94:26", "text": " @dev Converts a `uint256` to its ASCII `string` hexadecimal representation." }, "implemented": true, "kind": "function", "modifiers": [], "name": "toHexString", "nameLocation": "1225:11:26", "parameters": { "id": 27415, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27414, "mutability": "mutable", "name": "value", "nameLocation": "1245:5:26", "nodeType": "VariableDeclaration", "scope": 27431, "src": "1237:13:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 27413, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1237:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1236:15:26" }, "returnParameters": { "id": 27418, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27417, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 27431, "src": "1275:13:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 27416, "name": "string", "nodeType": "ElementaryTypeName", "src": "1275:6:26", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "1274:15:26" }, "scope": 27528, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "id": 27507, "nodeType": "FunctionDefinition", "src": "1513:437:26", "nodes": [], "body": { "id": 27506, "nodeType": "Block", "src": "1603:347:26", "nodes": [], "statements": [ { "assignments": [ 27442 ], "declarations": [ { "constant": false, "id": 27442, "mutability": "mutable", "name": "buffer", "nameLocation": "1626:6:26", "nodeType": "VariableDeclaration", "scope": 27506, "src": "1613:19:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 27441, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "1613:5:26", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "id": 27451, "initialValue": { "arguments": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 27449, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 27447, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "32", "id": 27445, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1645:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "id": 27446, "name": "length", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27436, "src": "1649:6:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1645:10:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "hexValue": "32", "id": 27448, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1658:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "src": "1645:14:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 27444, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", "src": "1635:9:26", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", "typeString": "function (uint256) pure returns (bytes memory)" }, "typeName": { "id": 27443, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "1639:5:26", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } } }, "id": 27450, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1635:25:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "nodeType": "VariableDeclarationStatement", "src": "1613:47:26" }, { "expression": { "id": 27456, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { "id": 27452, "name": "buffer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27442, "src": "1670:6:26", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 27454, "indexExpression": { "hexValue": "30", "id": 27453, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1677:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "1670:9:26", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "hexValue": "30", "id": 27455, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1682:3:26", "typeDescriptions": { "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d", "typeString": "literal_string \"0\"" }, "value": "0" }, "src": "1670:15:26", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "id": 27457, "nodeType": "ExpressionStatement", "src": "1670:15:26" }, { "expression": { "id": 27462, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { "id": 27458, "name": "buffer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27442, "src": "1695:6:26", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 27460, "indexExpression": { "hexValue": "31", "id": 27459, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1702:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "1695:9:26", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "hexValue": "78", "id": 27461, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1707:3:26", "typeDescriptions": { "typeIdentifier": "t_stringliteral_7521d1cadbcfa91eec65aa16715b94ffc1c9654ba57ea2ef1a2127bca1127a83", "typeString": "literal_string \"x\"" }, "value": "x" }, "src": "1695:15:26", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "id": 27463, "nodeType": "ExpressionStatement", "src": "1695:15:26" }, { "body": { "id": 27492, "nodeType": "Block", "src": "1765:83:26", "statements": [ { "expression": { "id": 27486, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { "id": 27478, "name": "buffer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27442, "src": "1779:6:26", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 27480, "indexExpression": { "id": 27479, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27465, "src": "1786:1:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "1779:9:26", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "baseExpression": { "id": 27481, "name": "_SYMBOLS", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27360, "src": "1791:8:26", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "id": 27485, "indexExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 27484, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 27482, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27434, "src": "1800:5:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "&", "rightExpression": { "hexValue": "307866", "id": 27483, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1808:3:26", "typeDescriptions": { "typeIdentifier": "t_rational_15_by_1", "typeString": "int_const 15" }, "value": "0xf" }, "src": "1800:11:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1791:21:26", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "src": "1779:33:26", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "id": 27487, "nodeType": "ExpressionStatement", "src": "1779:33:26" }, { "expression": { "id": 27490, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 27488, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27434, "src": "1826:5:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": ">>=", "rightHandSide": { "hexValue": "34", "id": 27489, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1836:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" }, "value": "4" }, "src": "1826:11:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 27491, "nodeType": "ExpressionStatement", "src": "1826:11:26" } ] }, "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 27474, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 27472, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27465, "src": "1753:1:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "hexValue": "31", "id": 27473, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1757:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "1753:5:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 27493, "initializationExpression": { "assignments": [ 27465 ], "declarations": [ { "constant": false, "id": 27465, "mutability": "mutable", "name": "i", "nameLocation": "1733:1:26", "nodeType": "VariableDeclaration", "scope": 27493, "src": "1725:9:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 27464, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1725:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 27471, "initialValue": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 27470, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 27468, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "32", "id": 27466, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1737:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "id": 27467, "name": "length", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27436, "src": "1741:6:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1737:10:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "hexValue": "31", "id": 27469, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1750:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "1737:14:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "1725:26:26" }, "loopExpression": { "expression": { "id": 27476, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "--", "prefix": true, "src": "1760:3:26", "subExpression": { "id": 27475, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27465, "src": "1762:1:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 27477, "nodeType": "ExpressionStatement", "src": "1760:3:26" }, "nodeType": "ForStatement", "src": "1720:128:26" }, { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 27497, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 27495, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27434, "src": "1865:5:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "hexValue": "30", "id": 27496, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1874:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "1865:10:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "537472696e67733a20686578206c656e67746820696e73756666696369656e74", "id": 27498, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1877:34:26", "typeDescriptions": { "typeIdentifier": "t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", "typeString": "literal_string \"Strings: hex length insufficient\"" }, "value": "Strings: hex length insufficient" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", "typeString": "literal_string \"Strings: hex length insufficient\"" } ], "id": 27494, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "1857:7:26", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 27499, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1857:55:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 27500, "nodeType": "ExpressionStatement", "src": "1857:55:26" }, { "expression": { "arguments": [ { "id": 27503, "name": "buffer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27442, "src": "1936:6:26", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 27502, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1929:6:26", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { "id": 27501, "name": "string", "nodeType": "ElementaryTypeName", "src": "1929:6:26", "typeDescriptions": {} } }, "id": 27504, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1929:14:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "functionReturnParameters": 27440, "id": 27505, "nodeType": "Return", "src": "1922:21:26" } ] }, "documentation": { "id": 27432, "nodeType": "StructuredDocumentation", "src": "1396:112:26", "text": " @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length." }, "implemented": true, "kind": "function", "modifiers": [], "name": "toHexString", "nameLocation": "1522:11:26", "parameters": { "id": 27437, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27434, "mutability": "mutable", "name": "value", "nameLocation": "1542:5:26", "nodeType": "VariableDeclaration", "scope": 27507, "src": "1534:13:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 27433, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1534:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 27436, "mutability": "mutable", "name": "length", "nameLocation": "1557:6:26", "nodeType": "VariableDeclaration", "scope": 27507, "src": "1549:14:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 27435, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1549:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1533:31:26" }, "returnParameters": { "id": 27440, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27439, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 27507, "src": "1588:13:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 27438, "name": "string", "nodeType": "ElementaryTypeName", "src": "1588:6:26", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "1587:15:26" }, "scope": 27528, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "id": 27527, "nodeType": "FunctionDefinition", "src": "2102:149:26", "nodes": [], "body": { "id": 27526, "nodeType": "Block", "src": "2175:76:26", "nodes": [], "statements": [ { "expression": { "arguments": [ { "arguments": [ { "arguments": [ { "id": 27520, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27510, "src": "2220:4:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 27519, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2212:7:26", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { "id": 27518, "name": "uint160", "nodeType": "ElementaryTypeName", "src": "2212:7:26", "typeDescriptions": {} } }, "id": 27521, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2212:13:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint160", "typeString": "uint160" } ], "id": 27517, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2204:7:26", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 27516, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2204:7:26", "typeDescriptions": {} } }, "id": 27522, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2204:22:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 27523, "name": "_ADDRESS_LENGTH", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27363, "src": "2228:15:26", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint8", "typeString": "uint8" } ], "id": 27515, "name": "toHexString", "nodeType": "Identifier", "overloadedDeclarations": [ 27431, 27507, 27527 ], "referencedDeclaration": 27507, "src": "2192:11:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$", "typeString": "function (uint256,uint256) pure returns (string memory)" } }, "id": 27524, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2192:52:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "functionReturnParameters": 27514, "id": 27525, "nodeType": "Return", "src": "2185:59:26" } ] }, "documentation": { "id": 27508, "nodeType": "StructuredDocumentation", "src": "1956:141:26", "text": " @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal representation." }, "implemented": true, "kind": "function", "modifiers": [], "name": "toHexString", "nameLocation": "2111:11:26", "parameters": { "id": 27511, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27510, "mutability": "mutable", "name": "addr", "nameLocation": "2131:4:26", "nodeType": "VariableDeclaration", "scope": 27527, "src": "2123:12:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 27509, "name": "address", "nodeType": "ElementaryTypeName", "src": "2123:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "2122:14:26" }, "returnParameters": { "id": 27514, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27513, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 27527, "src": "2160:13:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 27512, "name": "string", "nodeType": "ElementaryTypeName", "src": "2160:6:26", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "2159:15:26" }, "scope": 27528, "stateMutability": "pure", "virtual": false, "visibility": "internal" } ], "abstract": false, "baseContracts": [], "canonicalName": "Strings", "contractDependencies": [], "contractKind": "library", "documentation": { "id": 27357, "nodeType": "StructuredDocumentation", "src": "153:34:26", "text": " @dev String operations." }, "fullyImplemented": true, "linearizedBaseContracts": [ 27528 ], "name": "Strings", "nameLocation": "196:7:26", "scope": 27529, "usedErrors": [] } ], "license": "MIT" }, "id": 26 }