{"id":"68b2de3f5c656b58db3c02da216321b6","_format":"hh-sol-build-info-1","solcVersion":"0.7.6","solcLongVersion":"0.7.6+commit.7338295f","input":{"language":"Solidity","sources":{"contracts/Lib/AddressStringUtil.sol":{"content":"// SPDX-License-Identifier: GPL-3.0-or-later\n\npragma solidity >=0.5.0;\n\nlibrary AddressStringUtil {\n    // converts an address to the uppercase hex string, extracting only len bytes (up to 20, multiple of 2)\n    function toAsciiString(address addr, uint256 len) internal pure returns (string memory) {\n        require(len % 2 == 0 && len > 0 && len <= 40, 'AddressStringUtil: INVALID_LEN');\n\n        bytes memory s = new bytes(len);\n        uint256 addrNum = uint256(addr);\n        for (uint256 i = 0; i < len / 2; i++) {\n            // shift right and truncate all but the least significant byte to extract the byte at position 19-i\n            uint8 b = uint8(addrNum >> (8 * (19 - i)));\n            // first hex character is the most significant 4 bits\n            uint8 hi = b >> 4;\n            // second hex character is the least significant 4 bits\n            uint8 lo = b - (hi << 4);\n            s[2 * i] = char(hi);\n            s[2 * i + 1] = char(lo);\n        }\n        return string(s);\n    }\n\n    // hi and lo are only 4 bits and between 0 and 16\n    // this method converts those values to the unicode/ascii code point for the hex representation\n    // uses upper case for the characters\n    function char(uint8 b) private pure returns (bytes1 c) {\n        if (b < 10) {\n            return bytes1(b + 0x30);\n        } else {\n            return bytes1(b + 0x37);\n        }\n    }\n}\n"},"contracts/Lib/SafeERC20Namer.sol":{"content":"// SPDX-License-Identifier: GPL-3.0-or-later\n\npragma solidity >=0.5.0;\n\nimport './AddressStringUtil.sol';\n\n// produces token descriptors from inconsistent or absent ERC20 symbol implementations that can return string or bytes32\n// this library will always produce a string symbol to represent the token\nlibrary SafeERC20Namer {\n    function bytes32ToString(bytes32 x) private pure returns (string memory) {\n        bytes memory bytesString = new bytes(32);\n        uint256 charCount = 0;\n        for (uint256 j = 0; j < 32; j++) {\n            bytes1 char = x[j];\n            if (char != 0) {\n                bytesString[charCount] = char;\n                charCount++;\n            }\n        }\n        bytes memory bytesStringTrimmed = new bytes(charCount);\n        for (uint256 j = 0; j < charCount; j++) {\n            bytesStringTrimmed[j] = bytesString[j];\n        }\n        return string(bytesStringTrimmed);\n    }\n\n    // assumes the data is in position 2\n    function parseStringData(bytes memory b) private pure returns (string memory) {\n        uint256 charCount = 0;\n        // first parse the charCount out of the data\n        for (uint256 i = 32; i < 64; i++) {\n            charCount <<= 8;\n            charCount += uint8(b[i]);\n        }\n\n        bytes memory bytesStringTrimmed = new bytes(charCount);\n        for (uint256 i = 0; i < charCount; i++) {\n            bytesStringTrimmed[i] = b[i + 64];\n        }\n\n        return string(bytesStringTrimmed);\n    }\n\n    // uses a heuristic to produce a token name from the address\n    // the heuristic returns the full hex of the address string in upper case\n    function addressToName(address token) private pure returns (string memory) {\n        return AddressStringUtil.toAsciiString(token, 40);\n    }\n\n    // uses a heuristic to produce a token symbol from the address\n    // the heuristic returns the first 6 hex of the address string in upper case\n    function addressToSymbol(address token) private pure returns (string memory) {\n        return AddressStringUtil.toAsciiString(token, 6);\n    }\n\n    // calls an external view token contract method that returns a symbol or name, and parses the output into a string\n    function callAndParseStringReturn(address token, bytes4 selector) private view returns (string memory) {\n        (bool success, bytes memory data) = token.staticcall(abi.encodeWithSelector(selector));\n        // if not implemented, or returns empty data, return empty string\n        if (!success || data.length == 0) {\n            return '';\n        }\n        // bytes32 data always has length 32\n        if (data.length == 32) {\n            bytes32 decoded = abi.decode(data, (bytes32));\n            return bytes32ToString(decoded);\n        } else if (data.length > 64) {\n            return abi.decode(data, (string));\n        }\n        return '';\n    }\n\n    // attempts to extract the token symbol. if it does not implement symbol, returns a symbol derived from the address\n    function tokenSymbol(address token) internal view returns (string memory) {\n        // 0x95d89b41 = bytes4(keccak256(\"symbol()\"))\n        string memory symbol = callAndParseStringReturn(token, 0x95d89b41);\n        if (bytes(symbol).length == 0) {\n            // fallback to 6 uppercase hex of address\n            return addressToSymbol(token);\n        }\n        return symbol;\n    }\n\n    // attempts to extract the token name. if it does not implement name, returns a name derived from the address\n    function tokenName(address token) internal view returns (string memory) {\n        // 0x06fdde03 = bytes4(keccak256(\"name()\"))\n        string memory name = callAndParseStringReturn(token, 0x06fdde03);\n        if (bytes(name).length == 0) {\n            // fallback to full hex of address\n            return addressToName(token);\n        }\n        return name;\n    }\n}\n"}},"settings":{"optimizer":{"enabled":true,"runs":200},"evmVersion":"petersburg","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"],"":["ast"]}}}},"output":{"sources":{"contracts/Lib/AddressStringUtil.sol":{"ast":{"absolutePath":"contracts/Lib/AddressStringUtil.sol","exportedSymbols":{"AddressStringUtil":[142]},"id":143,"license":"GPL-3.0-or-later","nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity",">=","0.5",".0"],"nodeType":"PragmaDirective","src":"46:24:0"},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"library","fullyImplemented":true,"id":142,"linearizedBaseContracts":[142],"name":"AddressStringUtil","nodeType":"ContractDefinition","nodes":[{"body":{"id":112,"nodeType":"Block","src":"300:704:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":23,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":19,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"318:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"hexValue":"32","id":12,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"324:1:0","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"318:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":14,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"329:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"318:12:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"334:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":17,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"340:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"334:7:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"318:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":22,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":20,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"345:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"3430","id":21,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"352:2:0","typeDescriptions":{"typeIdentifier":"t_rational_40_by_1","typeString":"int_const 40"},"value":"40"},"src":"345:9:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"318:36:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"41646472657373537472696e675574696c3a20494e56414c49445f4c454e","id":24,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"356:32:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_eab9febfbdce9e67c4279e4c2a77a43766d401ab3f3bd92cdff53b9ffd3f8f3f","typeString":"literal_string \"AddressStringUtil: INVALID_LEN\""},"value":"AddressStringUtil: INVALID_LEN"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_eab9febfbdce9e67c4279e4c2a77a43766d401ab3f3bd92cdff53b9ffd3f8f3f","typeString":"literal_string \"AddressStringUtil: INVALID_LEN\""}],"id":10,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"310:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":25,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"310:79:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26,"nodeType":"ExpressionStatement","src":"310:79:0"},{"assignments":[28],"declarations":[{"constant":false,"id":28,"mutability":"mutable","name":"s","nodeType":"VariableDeclaration","scope":112,"src":"400:14:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":27,"name":"bytes","nodeType":"ElementaryTypeName","src":"400:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":33,"initialValue":{"arguments":[{"id":31,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"427:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"417:9:0","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":29,"name":"bytes","nodeType":"ElementaryTypeName","src":"421:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":32,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"417:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"400:31:0"},{"assignments":[35],"declarations":[{"constant":false,"id":35,"mutability":"mutable","name":"addrNum","nodeType":"VariableDeclaration","scope":112,"src":"441:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34,"name":"uint256","nodeType":"ElementaryTypeName","src":"441:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":40,"initialValue":{"arguments":[{"id":38,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3,"src":"467:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":37,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"459:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":36,"name":"uint256","nodeType":"ElementaryTypeName","src":"459:7:0","typeDescriptions":{}}},"id":39,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"459:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"441:31:0"},{"body":{"id":105,"nodeType":"Block","src":"520:452:0","statements":[{"assignments":[54],"declarations":[{"constant":false,"id":54,"mutability":"mutable","name":"b","nodeType":"VariableDeclaration","scope":105,"src":"646:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":53,"name":"uint8","nodeType":"ElementaryTypeName","src":"646:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":67,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":65,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57,"name":"addrNum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35,"src":"662:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"38","id":58,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"674:1:0","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":61,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3139","id":59,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"679:2:0","typeDescriptions":{"typeIdentifier":"t_rational_19_by_1","typeString":"int_const 19"},"value":"19"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":60,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42,"src":"684:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"679:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":62,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"678:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"674:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":64,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"673:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"662:25:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"656:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":55,"name":"uint8","nodeType":"ElementaryTypeName","src":"656:5:0","typeDescriptions":{}}},"id":66,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"656:32:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"646:42:0"},{"assignments":[69],"declarations":[{"constant":false,"id":69,"mutability":"mutable","name":"hi","nodeType":"VariableDeclaration","scope":105,"src":"768:8:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":68,"name":"uint8","nodeType":"ElementaryTypeName","src":"768:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":73,"initialValue":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":72,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":70,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54,"src":"779:1:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"34","id":71,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"784:1:0","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"779:6:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"768:17:0"},{"assignments":[75],"declarations":[{"constant":false,"id":75,"mutability":"mutable","name":"lo","nodeType":"VariableDeclaration","scope":105,"src":"867:8:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":74,"name":"uint8","nodeType":"ElementaryTypeName","src":"867:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":82,"initialValue":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":81,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54,"src":"878:1:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":79,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77,"name":"hi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69,"src":"883:2:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"34","id":78,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"889:1:0","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"883:7:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":80,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"882:9:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"878:13:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"867:24:0"},{"expression":{"id":91,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":83,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"905:1:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":87,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":86,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":84,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"907:1:0","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":85,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42,"src":"911:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"907:5:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"905:8:0","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":89,"name":"hi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69,"src":"921:2:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":88,"name":"char","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":141,"src":"916:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint8_$returns$_t_bytes1_$","typeString":"function (uint8) pure returns (bytes1)"}},"id":90,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"916:8:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"905:19:0","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":92,"nodeType":"ExpressionStatement","src":"905:19:0"},{"expression":{"id":103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":93,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"938:1:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":99,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":94,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"940:1:0","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":95,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42,"src":"944:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"940:5:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":97,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"948:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"940:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"938:12:0","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":101,"name":"lo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75,"src":"958:2:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":100,"name":"char","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":141,"src":"953:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint8_$returns$_t_bytes1_$","typeString":"function (uint8) pure returns (bytes1)"}},"id":102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"953:8:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"938:23:0","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":104,"nodeType":"ExpressionStatement","src":"938:23:0"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42,"src":"502:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"506:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":47,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"512:1:0","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"506:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"502:11:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":106,"initializationExpression":{"assignments":[42],"declarations":[{"constant":false,"id":42,"mutability":"mutable","name":"i","nodeType":"VariableDeclaration","scope":106,"src":"487:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41,"name":"uint256","nodeType":"ElementaryTypeName","src":"487:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":44,"initialValue":{"hexValue":"30","id":43,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"499:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"487:13:0"},"loopExpression":{"expression":{"id":51,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"515:3:0","subExpression":{"id":50,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42,"src":"515:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":52,"nodeType":"ExpressionStatement","src":"515:3:0"},"nodeType":"ForStatement","src":"482:490:0"},{"expression":{"arguments":[{"id":109,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"995:1:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":108,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"988:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":107,"name":"string","nodeType":"ElementaryTypeName","src":"988:6:0","typeDescriptions":{}}},"id":110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"988:9:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9,"id":111,"nodeType":"Return","src":"981:16:0"}]},"id":113,"implemented":true,"kind":"function","modifiers":[],"name":"toAsciiString","nodeType":"FunctionDefinition","parameters":{"id":6,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3,"mutability":"mutable","name":"addr","nodeType":"VariableDeclaration","scope":113,"src":"235:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2,"name":"address","nodeType":"ElementaryTypeName","src":"235:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5,"mutability":"mutable","name":"len","nodeType":"VariableDeclaration","scope":113,"src":"249:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4,"name":"uint256","nodeType":"ElementaryTypeName","src":"249:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"234:27:0"},"returnParameters":{"id":9,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8,"mutability":"mutable","name":"","nodeType":"VariableDeclaration","scope":113,"src":"285:13:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7,"name":"string","nodeType":"ElementaryTypeName","src":"285:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"284:15:0"},"scope":142,"src":"212:792:0","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":140,"nodeType":"Block","src":"1261:130:0","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":120,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115,"src":"1275:1:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"3130","id":121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1279:2:0","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"1275:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":138,"nodeType":"Block","src":"1337:48:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":133,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115,"src":"1365:1:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"30783337","id":134,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1369:4:0","typeDescriptions":{"typeIdentifier":"t_rational_55_by_1","typeString":"int_const 55"},"value":"0x37"},"src":"1365:8:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":132,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1358:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":131,"name":"bytes1","nodeType":"ElementaryTypeName","src":"1358:6:0","typeDescriptions":{}}},"id":136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1358:16:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"functionReturnParameters":119,"id":137,"nodeType":"Return","src":"1351:23:0"}]},"id":139,"nodeType":"IfStatement","src":"1271:114:0","trueBody":{"id":130,"nodeType":"Block","src":"1283:48:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":125,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115,"src":"1311:1:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"30783330","id":126,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1315:4:0","typeDescriptions":{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},"value":"0x30"},"src":"1311:8:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":124,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1304:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":123,"name":"bytes1","nodeType":"ElementaryTypeName","src":"1304:6:0","typeDescriptions":{}}},"id":128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1304:16:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"functionReturnParameters":119,"id":129,"nodeType":"Return","src":"1297:23:0"}]}}]},"id":141,"implemented":true,"kind":"function","modifiers":[],"name":"char","nodeType":"FunctionDefinition","parameters":{"id":116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115,"mutability":"mutable","name":"b","nodeType":"VariableDeclaration","scope":141,"src":"1220:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":114,"name":"uint8","nodeType":"ElementaryTypeName","src":"1220:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"1219:9:0"},"returnParameters":{"id":119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":118,"mutability":"mutable","name":"c","nodeType":"VariableDeclaration","scope":141,"src":"1251:8:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":117,"name":"bytes1","nodeType":"ElementaryTypeName","src":"1251:6:0","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"}],"src":"1250:10:0"},"scope":142,"src":"1206:185:0","stateMutability":"pure","virtual":false,"visibility":"private"}],"scope":143,"src":"72:1321:0"}],"src":"46:1348:0"},"id":0},"contracts/Lib/SafeERC20Namer.sol":{"ast":{"absolutePath":"contracts/Lib/SafeERC20Namer.sol","exportedSymbols":{"AddressStringUtil":[142],"SafeERC20Namer":[457]},"id":458,"license":"GPL-3.0-or-later","nodeType":"SourceUnit","nodes":[{"id":144,"literals":["solidity",">=","0.5",".0"],"nodeType":"PragmaDirective","src":"46:24:1"},{"absolutePath":"contracts/Lib/AddressStringUtil.sol","file":"./AddressStringUtil.sol","id":145,"nodeType":"ImportDirective","scope":458,"sourceUnit":143,"src":"72:33:1","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"library","fullyImplemented":true,"id":457,"linearizedBaseContracts":[457],"name":"SafeERC20Namer","nodeType":"ContractDefinition","nodes":[{"body":{"id":227,"nodeType":"Block","src":"405:511:1","statements":[{"assignments":[153],"declarations":[{"constant":false,"id":153,"mutability":"mutable","name":"bytesString","nodeType":"VariableDeclaration","scope":227,"src":"415:24:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":152,"name":"bytes","nodeType":"ElementaryTypeName","src":"415:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":158,"initialValue":{"arguments":[{"hexValue":"3332","id":156,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"452:2:1","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":155,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"442:9:1","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":154,"name":"bytes","nodeType":"ElementaryTypeName","src":"446:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":157,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"442:13:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"415:40:1"},{"assignments":[160],"declarations":[{"constant":false,"id":160,"mutability":"mutable","name":"charCount","nodeType":"VariableDeclaration","scope":227,"src":"465:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":159,"name":"uint256","nodeType":"ElementaryTypeName","src":"465:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":162,"initialValue":{"hexValue":"30","id":161,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"485:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"465:21:1"},{"body":{"id":193,"nodeType":"Block","src":"529:162:1","statements":[{"assignments":[174],"declarations":[{"constant":false,"id":174,"mutability":"mutable","name":"char","nodeType":"VariableDeclaration","scope":193,"src":"543:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":173,"name":"bytes1","nodeType":"ElementaryTypeName","src":"543:6:1","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"}],"id":178,"initialValue":{"baseExpression":{"id":175,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":147,"src":"557:1:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":177,"indexExpression":{"id":176,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":164,"src":"559:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"557:4:1","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"VariableDeclarationStatement","src":"543:18:1"},{"condition":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":179,"name":"char","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":174,"src":"579:4:1","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"587:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"579:9:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":192,"nodeType":"IfStatement","src":"575:106:1","trueBody":{"id":191,"nodeType":"Block","src":"590:91:1","statements":[{"expression":{"id":186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":182,"name":"bytesString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":153,"src":"608:11:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":184,"indexExpression":{"id":183,"name":"charCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":160,"src":"620:9:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"608:22:1","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":185,"name":"char","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":174,"src":"633:4:1","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"608:29:1","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":187,"nodeType":"ExpressionStatement","src":"608:29:1"},{"expression":{"id":189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"655:11:1","subExpression":{"id":188,"name":"charCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":160,"src":"655:9:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":190,"nodeType":"ExpressionStatement","src":"655:11:1"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":167,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":164,"src":"516:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"3332","id":168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"520:2:1","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"516:6:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":194,"initializationExpression":{"assignments":[164],"declarations":[{"constant":false,"id":164,"mutability":"mutable","name":"j","nodeType":"VariableDeclaration","scope":194,"src":"501:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":163,"name":"uint256","nodeType":"ElementaryTypeName","src":"501:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":166,"initialValue":{"hexValue":"30","id":165,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"513:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"501:13:1"},"loopExpression":{"expression":{"id":171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"524:3:1","subExpression":{"id":170,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":164,"src":"524:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":172,"nodeType":"ExpressionStatement","src":"524:3:1"},"nodeType":"ForStatement","src":"496:195:1"},{"assignments":[196],"declarations":[{"constant":false,"id":196,"mutability":"mutable","name":"bytesStringTrimmed","nodeType":"VariableDeclaration","scope":227,"src":"700:31:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":195,"name":"bytes","nodeType":"ElementaryTypeName","src":"700:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":201,"initialValue":{"arguments":[{"id":199,"name":"charCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":160,"src":"744:9:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":198,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"734:9:1","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":197,"name":"bytes","nodeType":"ElementaryTypeName","src":"738:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"734:20:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"700:54:1"},{"body":{"id":220,"nodeType":"Block","src":"804:63:1","statements":[{"expression":{"id":218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":212,"name":"bytesStringTrimmed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":196,"src":"818:18:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":214,"indexExpression":{"id":213,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":203,"src":"837:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"818:21:1","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":215,"name":"bytesString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":153,"src":"842:11:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":217,"indexExpression":{"id":216,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":203,"src":"854:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"842:14:1","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"818:38:1","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":219,"nodeType":"ExpressionStatement","src":"818:38:1"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":206,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":203,"src":"784:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":207,"name":"charCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":160,"src":"788:9:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"784:13:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":221,"initializationExpression":{"assignments":[203],"declarations":[{"constant":false,"id":203,"mutability":"mutable","name":"j","nodeType":"VariableDeclaration","scope":221,"src":"769:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":202,"name":"uint256","nodeType":"ElementaryTypeName","src":"769:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":205,"initialValue":{"hexValue":"30","id":204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"781:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"769:13:1"},"loopExpression":{"expression":{"id":210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"799:3:1","subExpression":{"id":209,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":203,"src":"799:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":211,"nodeType":"ExpressionStatement","src":"799:3:1"},"nodeType":"ForStatement","src":"764:103:1"},{"expression":{"arguments":[{"id":224,"name":"bytesStringTrimmed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":196,"src":"890:18:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":223,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"883:6:1","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":222,"name":"string","nodeType":"ElementaryTypeName","src":"883:6:1","typeDescriptions":{}}},"id":225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"883:26:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":151,"id":226,"nodeType":"Return","src":"876:33:1"}]},"id":228,"implemented":true,"kind":"function","modifiers":[],"name":"bytes32ToString","nodeType":"FunctionDefinition","parameters":{"id":148,"nodeType":"ParameterList","parameters":[{"constant":false,"id":147,"mutability":"mutable","name":"x","nodeType":"VariableDeclaration","scope":228,"src":"357:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":146,"name":"bytes32","nodeType":"ElementaryTypeName","src":"357:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"356:11:1"},"returnParameters":{"id":151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":150,"mutability":"mutable","name":"","nodeType":"VariableDeclaration","scope":228,"src":"390:13:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":149,"name":"string","nodeType":"ElementaryTypeName","src":"390:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"389:15:1"},"scope":457,"src":"332:584:1","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":298,"nodeType":"Block","src":"1041:428:1","statements":[{"assignments":[236],"declarations":[{"constant":false,"id":236,"mutability":"mutable","name":"charCount","nodeType":"VariableDeclaration","scope":298,"src":"1051:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":235,"name":"uint256","nodeType":"ElementaryTypeName","src":"1051:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":238,"initialValue":{"hexValue":"30","id":237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1071:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"1051:21:1"},{"body":{"id":262,"nodeType":"Block","src":"1169:78:1","statements":[{"expression":{"id":251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":249,"name":"charCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":236,"src":"1183:9:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"<<=","rightHandSide":{"hexValue":"38","id":250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1197:1:1","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"1183:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":252,"nodeType":"ExpressionStatement","src":"1183:15:1"},{"expression":{"id":260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":253,"name":"charCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":236,"src":"1212:9:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"baseExpression":{"id":256,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":230,"src":"1231:1:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":258,"indexExpression":{"id":257,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":240,"src":"1233:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1231:4:1","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":255,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1225:5:1","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":254,"name":"uint8","nodeType":"ElementaryTypeName","src":"1225:5:1","typeDescriptions":{}}},"id":259,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1225:11:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"1212:24:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":261,"nodeType":"ExpressionStatement","src":"1212:24:1"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":243,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":240,"src":"1156:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"3634","id":244,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1160:2:1","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"1156:6:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":263,"initializationExpression":{"assignments":[240],"declarations":[{"constant":false,"id":240,"mutability":"mutable","name":"i","nodeType":"VariableDeclaration","scope":263,"src":"1140:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":239,"name":"uint256","nodeType":"ElementaryTypeName","src":"1140:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":242,"initialValue":{"hexValue":"3332","id":241,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1152:2:1","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"VariableDeclarationStatement","src":"1140:14:1"},"loopExpression":{"expression":{"id":247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"1164:3:1","subExpression":{"id":246,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":240,"src":"1164:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":248,"nodeType":"ExpressionStatement","src":"1164:3:1"},"nodeType":"ForStatement","src":"1135:112:1"},{"assignments":[265],"declarations":[{"constant":false,"id":265,"mutability":"mutable","name":"bytesStringTrimmed","nodeType":"VariableDeclaration","scope":298,"src":"1257:31:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":264,"name":"bytes","nodeType":"ElementaryTypeName","src":"1257:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":270,"initialValue":{"arguments":[{"id":268,"name":"charCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":236,"src":"1301:9:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":267,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1291:9:1","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":266,"name":"bytes","nodeType":"ElementaryTypeName","src":"1295:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":269,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1291:20:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"1257:54:1"},{"body":{"id":291,"nodeType":"Block","src":"1361:58:1","statements":[{"expression":{"id":289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":281,"name":"bytesStringTrimmed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":265,"src":"1375:18:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":283,"indexExpression":{"id":282,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":272,"src":"1394:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1375:21:1","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":284,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":230,"src":"1399:1:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":288,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":285,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":272,"src":"1401:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"3634","id":286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1405:2:1","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"1401:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1399:9:1","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"1375:33:1","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":290,"nodeType":"ExpressionStatement","src":"1375:33:1"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":275,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":272,"src":"1341:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":276,"name":"charCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":236,"src":"1345:9:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1341:13:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":292,"initializationExpression":{"assignments":[272],"declarations":[{"constant":false,"id":272,"mutability":"mutable","name":"i","nodeType":"VariableDeclaration","scope":292,"src":"1326:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":271,"name":"uint256","nodeType":"ElementaryTypeName","src":"1326:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":274,"initialValue":{"hexValue":"30","id":273,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1338:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"1326:13:1"},"loopExpression":{"expression":{"id":279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"1356:3:1","subExpression":{"id":278,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":272,"src":"1356:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":280,"nodeType":"ExpressionStatement","src":"1356:3:1"},"nodeType":"ForStatement","src":"1321:98:1"},{"expression":{"arguments":[{"id":295,"name":"bytesStringTrimmed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":265,"src":"1443:18:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":294,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1436:6:1","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":293,"name":"string","nodeType":"ElementaryTypeName","src":"1436:6:1","typeDescriptions":{}}},"id":296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1436:26:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":234,"id":297,"nodeType":"Return","src":"1429:33:1"}]},"id":299,"implemented":true,"kind":"function","modifiers":[],"name":"parseStringData","nodeType":"FunctionDefinition","parameters":{"id":231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":230,"mutability":"mutable","name":"b","nodeType":"VariableDeclaration","scope":299,"src":"988:14:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":229,"name":"bytes","nodeType":"ElementaryTypeName","src":"988:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"987:16:1"},"returnParameters":{"id":234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":233,"mutability":"mutable","name":"","nodeType":"VariableDeclaration","scope":299,"src":"1026:13:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":232,"name":"string","nodeType":"ElementaryTypeName","src":"1026:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1025:15:1"},"scope":457,"src":"963:506:1","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":312,"nodeType":"Block","src":"1693:66:1","statements":[{"expression":{"arguments":[{"id":308,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":301,"src":"1742:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"3430","id":309,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1749:2:1","typeDescriptions":{"typeIdentifier":"t_rational_40_by_1","typeString":"int_const 40"},"value":"40"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_40_by_1","typeString":"int_const 40"}],"expression":{"id":306,"name":"AddressStringUtil","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":142,"src":"1710:17:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AddressStringUtil_$142_$","typeString":"type(library AddressStringUtil)"}},"id":307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toAsciiString","nodeType":"MemberAccess","referencedDeclaration":113,"src":"1710:31:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (address,uint256) pure returns (string memory)"}},"id":310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1710:42:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":305,"id":311,"nodeType":"Return","src":"1703:49:1"}]},"id":313,"implemented":true,"kind":"function","modifiers":[],"name":"addressToName","nodeType":"FunctionDefinition","parameters":{"id":302,"nodeType":"ParameterList","parameters":[{"constant":false,"id":301,"mutability":"mutable","name":"token","nodeType":"VariableDeclaration","scope":313,"src":"1641:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":300,"name":"address","nodeType":"ElementaryTypeName","src":"1641:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1640:15:1"},"returnParameters":{"id":305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":304,"mutability":"mutable","name":"","nodeType":"VariableDeclaration","scope":313,"src":"1678:13:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":303,"name":"string","nodeType":"ElementaryTypeName","src":"1678:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1677:15:1"},"scope":457,"src":"1618:141:1","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":326,"nodeType":"Block","src":"1990:65:1","statements":[{"expression":{"arguments":[{"id":322,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"2039:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"36","id":323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2046:1:1","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"}],"expression":{"id":320,"name":"AddressStringUtil","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":142,"src":"2007:17:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AddressStringUtil_$142_$","typeString":"type(library AddressStringUtil)"}},"id":321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toAsciiString","nodeType":"MemberAccess","referencedDeclaration":113,"src":"2007:31:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (address,uint256) pure returns (string memory)"}},"id":324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2007:41:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":319,"id":325,"nodeType":"Return","src":"2000:48:1"}]},"id":327,"implemented":true,"kind":"function","modifiers":[],"name":"addressToSymbol","nodeType":"FunctionDefinition","parameters":{"id":316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":315,"mutability":"mutable","name":"token","nodeType":"VariableDeclaration","scope":327,"src":"1938:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":314,"name":"address","nodeType":"ElementaryTypeName","src":"1938:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1937:15:1"},"returnParameters":{"id":319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":318,"mutability":"mutable","name":"","nodeType":"VariableDeclaration","scope":327,"src":"1975:13:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":317,"name":"string","nodeType":"ElementaryTypeName","src":"1975:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1974:15:1"},"scope":457,"src":"1913:142:1","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":395,"nodeType":"Block","src":"2283:551:1","statements":[{"assignments":[337,339],"declarations":[{"constant":false,"id":337,"mutability":"mutable","name":"success","nodeType":"VariableDeclaration","scope":395,"src":"2294:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":336,"name":"bool","nodeType":"ElementaryTypeName","src":"2294:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":339,"mutability":"mutable","name":"data","nodeType":"VariableDeclaration","scope":395,"src":"2308:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":338,"name":"bytes","nodeType":"ElementaryTypeName","src":"2308:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":347,"initialValue":{"arguments":[{"arguments":[{"id":344,"name":"selector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":331,"src":"2369:8:1","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":342,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2346:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":343,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"2346:22:1","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2346:32:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":340,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":329,"src":"2329:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"staticcall","nodeType":"MemberAccess","src":"2329:16:1","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2329:50:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"2293:86:1"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2467:8:1","subExpression":{"id":348,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":337,"src":"2468:7:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":350,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":339,"src":"2479:4:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2479:11:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2494:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2479:16:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2467:28:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":358,"nodeType":"IfStatement","src":"2463:68:1","trueBody":{"id":357,"nodeType":"Block","src":"2497:34:1","statements":[{"expression":{"hexValue":"","id":355,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2518:2:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"functionReturnParameters":335,"id":356,"nodeType":"Return","src":"2511:9:1"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":359,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":339,"src":"2589:4:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2589:11:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3332","id":361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2604:2:1","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"2589:17:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":378,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":339,"src":"2733:4:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2733:11:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"3634","id":380,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2747:2:1","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"2733:16:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":391,"nodeType":"IfStatement","src":"2729:80:1","trueBody":{"id":390,"nodeType":"Block","src":"2751:58:1","statements":[{"expression":{"arguments":[{"id":384,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":339,"src":"2783:4:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":386,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2790:6:1","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":385,"name":"string","nodeType":"ElementaryTypeName","src":"2790:6:1","typeDescriptions":{}}}],"id":387,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"2789:8:1","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}],"expression":{"id":382,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2772:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":383,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"2772:10:1","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2772:26:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":335,"id":389,"nodeType":"Return","src":"2765:33:1"}]}},"id":392,"nodeType":"IfStatement","src":"2585:224:1","trueBody":{"id":377,"nodeType":"Block","src":"2608:115:1","statements":[{"assignments":[364],"declarations":[{"constant":false,"id":364,"mutability":"mutable","name":"decoded","nodeType":"VariableDeclaration","scope":377,"src":"2622:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":363,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2622:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":372,"initialValue":{"arguments":[{"id":367,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":339,"src":"2651:4:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":369,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2658:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":368,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2658:7:1","typeDescriptions":{}}}],"id":370,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"2657:9:1","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"}],"expression":{"id":365,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2640:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":366,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"2640:10:1","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2640:27:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"2622:45:1"},{"expression":{"arguments":[{"id":374,"name":"decoded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":364,"src":"2704:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":373,"name":"bytes32ToString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":228,"src":"2688:15:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure returns (string memory)"}},"id":375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2688:24:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":335,"id":376,"nodeType":"Return","src":"2681:31:1"}]}},{"expression":{"hexValue":"","id":393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2825:2:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"functionReturnParameters":335,"id":394,"nodeType":"Return","src":"2818:9:1"}]},"id":396,"implemented":true,"kind":"function","modifiers":[],"name":"callAndParseStringReturn","nodeType":"FunctionDefinition","parameters":{"id":332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":329,"mutability":"mutable","name":"token","nodeType":"VariableDeclaration","scope":396,"src":"2214:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":328,"name":"address","nodeType":"ElementaryTypeName","src":"2214:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":331,"mutability":"mutable","name":"selector","nodeType":"VariableDeclaration","scope":396,"src":"2229:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":330,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2229:6:1","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"2213:32:1"},"returnParameters":{"id":335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":334,"mutability":"mutable","name":"","nodeType":"VariableDeclaration","scope":396,"src":"2268:13:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":333,"name":"string","nodeType":"ElementaryTypeName","src":"2268:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2267:15:1"},"scope":457,"src":"2180:654:1","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":425,"nodeType":"Block","src":"3034:308:1","statements":[{"assignments":[404],"declarations":[{"constant":false,"id":404,"mutability":"mutable","name":"symbol","nodeType":"VariableDeclaration","scope":425,"src":"3098:20:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":403,"name":"string","nodeType":"ElementaryTypeName","src":"3098:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":409,"initialValue":{"arguments":[{"id":406,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":398,"src":"3146:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30783935643839623431","id":407,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3153:10:1","typeDescriptions":{"typeIdentifier":"t_rational_2514000705_by_1","typeString":"int_const 2514000705"},"value":"0x95d89b41"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_2514000705_by_1","typeString":"int_const 2514000705"}],"id":405,"name":"callAndParseStringReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":396,"src":"3121:24:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_string_memory_ptr_$","typeString":"function (address,bytes4) view returns (string memory)"}},"id":408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3121:43:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"3098:66:1"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":412,"name":"symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":404,"src":"3184:6:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":411,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3178:5:1","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":410,"name":"bytes","nodeType":"ElementaryTypeName","src":"3178:5:1","typeDescriptions":{}}},"id":413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3178:13:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"3178:20:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3202:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3178:25:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":422,"nodeType":"IfStatement","src":"3174:139:1","trueBody":{"id":421,"nodeType":"Block","src":"3205:108:1","statements":[{"expression":{"arguments":[{"id":418,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":398,"src":"3296:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":417,"name":"addressToSymbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":327,"src":"3280:15:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure returns (string memory)"}},"id":419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3280:22:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":402,"id":420,"nodeType":"Return","src":"3273:29:1"}]}},{"expression":{"id":423,"name":"symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":404,"src":"3329:6:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":402,"id":424,"nodeType":"Return","src":"3322:13:1"}]},"id":426,"implemented":true,"kind":"function","modifiers":[],"name":"tokenSymbol","nodeType":"FunctionDefinition","parameters":{"id":399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":398,"mutability":"mutable","name":"token","nodeType":"VariableDeclaration","scope":426,"src":"2981:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":397,"name":"address","nodeType":"ElementaryTypeName","src":"2981:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2980:15:1"},"returnParameters":{"id":402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":401,"mutability":"mutable","name":"","nodeType":"VariableDeclaration","scope":426,"src":"3019:13:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":400,"name":"string","nodeType":"ElementaryTypeName","src":"3019:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3018:15:1"},"scope":457,"src":"2960:382:1","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":455,"nodeType":"Block","src":"3534:291:1","statements":[{"assignments":[434],"declarations":[{"constant":false,"id":434,"mutability":"mutable","name":"name","nodeType":"VariableDeclaration","scope":455,"src":"3596:18:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":433,"name":"string","nodeType":"ElementaryTypeName","src":"3596:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":439,"initialValue":{"arguments":[{"id":436,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":428,"src":"3642:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30783036666464653033","id":437,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3649:10:1","typeDescriptions":{"typeIdentifier":"t_rational_117300739_by_1","typeString":"int_const 117300739"},"value":"0x06fdde03"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_117300739_by_1","typeString":"int_const 117300739"}],"id":435,"name":"callAndParseStringReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":396,"src":"3617:24:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_string_memory_ptr_$","typeString":"function (address,bytes4) view returns (string memory)"}},"id":438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3617:43:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"3596:64:1"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":442,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":434,"src":"3680:4:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":441,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3674:5:1","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":440,"name":"bytes","nodeType":"ElementaryTypeName","src":"3674:5:1","typeDescriptions":{}}},"id":443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3674:11:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"3674:18:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3696:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3674:23:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":452,"nodeType":"IfStatement","src":"3670:128:1","trueBody":{"id":451,"nodeType":"Block","src":"3699:99:1","statements":[{"expression":{"arguments":[{"id":448,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":428,"src":"3781:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":447,"name":"addressToName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":313,"src":"3767:13:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure returns (string memory)"}},"id":449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3767:20:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":432,"id":450,"nodeType":"Return","src":"3760:27:1"}]}},{"expression":{"id":453,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":434,"src":"3814:4:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":432,"id":454,"nodeType":"Return","src":"3807:11:1"}]},"id":456,"implemented":true,"kind":"function","modifiers":[],"name":"tokenName","nodeType":"FunctionDefinition","parameters":{"id":429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":428,"mutability":"mutable","name":"token","nodeType":"VariableDeclaration","scope":456,"src":"3481:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":427,"name":"address","nodeType":"ElementaryTypeName","src":"3481:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3480:15:1"},"returnParameters":{"id":432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":431,"mutability":"mutable","name":"","nodeType":"VariableDeclaration","scope":456,"src":"3519:13:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":430,"name":"string","nodeType":"ElementaryTypeName","src":"3519:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3518:15:1"},"scope":457,"src":"3462:363:1","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":458,"src":"303:3524:1"}],"src":"46:3782:1"},"id":1}},"contracts":{"contracts/Lib/AddressStringUtil.sol":{"AddressStringUtil":{"abi":[],"evm":{"bytecode":{"generatedSources":[],"linkReferences":{},"object":"60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205667a031970bd0cc5d3761dfcaa3769e9be355114cc5891cee03b3b9bb26aa9064736f6c63430007060033","opcodes":"PUSH1 0x56 PUSH1 0x23 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x16 JUMPI INVALID JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 JUMP PUSH8 0xA031970BD0CC5D37 PUSH2 0xDFCA LOG3 PUSH23 0x9E9BE355114CC5891CEE03B3B9BB26AA9064736F6C6343 STOP SMOD MOD STOP CALLER ","sourceMap":"72:1321:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205667a031970bd0cc5d3761dfcaa3769e9be355114cc5891cee03b3b9bb26aa9064736f6c63430007060033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 JUMP PUSH8 0xA031970BD0CC5D37 PUSH2 0xDFCA LOG3 PUSH23 0x9E9BE355114CC5891CEE03B3B9BB26AA9064736F6C6343 STOP SMOD MOD STOP CALLER ","sourceMap":"72:1321:0:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Lib/AddressStringUtil.sol\":\"AddressStringUtil\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Lib/AddressStringUtil.sol\":{\"keccak256\":\"0x1edf9591b1858ce9093a4baaf816280d92bd1441e911a82bf509b8d2bb3195ce\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://bb7600744f3ce303df65f763ad7eec56223b9687e19476d992b95ccaf45eaf99\",\"dweb:/ipfs/QmPHDpxSbifD4ThEmM5hZoyfd9K9NMg9k6WZvFhFSFK42w\"]}},\"version\":1}"}},"contracts/Lib/SafeERC20Namer.sol":{"SafeERC20Namer":{"abi":[],"evm":{"bytecode":{"generatedSources":[],"linkReferences":{},"object":"60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202b9831baabe68aff0b5d54b11784c3c8d9fbddfea575632354f06d0983b8447564736f6c63430007060033","opcodes":"PUSH1 0x56 PUSH1 0x23 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x16 JUMPI INVALID JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x2B SWAP9 BALANCE 0xBA 0xAB 0xE6 DUP11 SELFDESTRUCT SIGNEXTEND 0x5D SLOAD 0xB1 OR DUP5 0xC3 0xC8 0xD9 0xFB 0xDD INVALID 0xA5 PUSH22 0x632354F06D0983B8447564736F6C6343000706003300 ","sourceMap":"303:3524:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202b9831baabe68aff0b5d54b11784c3c8d9fbddfea575632354f06d0983b8447564736f6c63430007060033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x2B SWAP9 BALANCE 0xBA 0xAB 0xE6 DUP11 SELFDESTRUCT SIGNEXTEND 0x5D SLOAD 0xB1 OR DUP5 0xC3 0xC8 0xD9 0xFB 0xDD INVALID 0xA5 PUSH22 0x632354F06D0983B8447564736F6C6343000706003300 ","sourceMap":"303:3524:1:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Lib/SafeERC20Namer.sol\":\"SafeERC20Namer\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Lib/AddressStringUtil.sol\":{\"keccak256\":\"0x1edf9591b1858ce9093a4baaf816280d92bd1441e911a82bf509b8d2bb3195ce\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://bb7600744f3ce303df65f763ad7eec56223b9687e19476d992b95ccaf45eaf99\",\"dweb:/ipfs/QmPHDpxSbifD4ThEmM5hZoyfd9K9NMg9k6WZvFhFSFK42w\"]},\"contracts/Lib/SafeERC20Namer.sol\":{\"keccak256\":\"0x268aaae7920551371023765da8968743b9c1bbc9e446730ff76de6cb4ee77420\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://e7ef384c12b35ba88ae0462515556e8625ff87480e00cd2c135b6511aa88e7b3\",\"dweb:/ipfs/QmYayZDbGAjEvV5Ma3CUbLiDk8BFppjVuHc2FpwT8MyehV\"]}},\"version\":1}"}}}}}