@tokamak-network/thanos-contracts
Version:
1 lines • 54 kB
JSON
{"abi":[],"bytecode":{"object":"0x602c6032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c6343000814000a","sourceMap":"161:2235:28:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;161:2235:28;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c6343000814000a","sourceMap":"161:2235:28:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"String operations.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":\"Strings\"},\"evmVersion\":\"shanghai\",\"libraries\":{\"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker\":\"0x4200000000000000000000000000000000000776\"},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":automate/=lib/automate/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":gelato/=lib/automate/contracts/\",\":hardhat/=lib/automate/node_modules/hardhat/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/\",\":prb-test/=lib/automate/lib/prb-test/src/\",\":prb/-est/=lib/automate/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0xaf159a8b1923ad2a26d516089bceca9bdeaeacd04be50983ea00ba63070f08a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f2cf1c531122bc7ca96b8c8db6a60deae60441e5223065e792553d4849b5638\",\"dweb:/ipfs/QmPBdJmBBABMDCfyDjCbdxgiqRavgiSL88SYPGibgbPas9\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","automate/=lib/automate/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","gelato/=lib/automate/contracts/","hardhat/=lib/automate/node_modules/hardhat/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/","prb-test/=lib/automate/lib/prb-test/src/","prb/-est/=lib/automate/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/utils/Strings.sol":"Strings"},"evmVersion":"shanghai","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0xaf159a8b1923ad2a26d516089bceca9bdeaeacd04be50983ea00ba63070f08a3","urls":["bzz-raw://6f2cf1c531122bc7ca96b8c8db6a60deae60441e5223065e792553d4849b5638","dweb:/ipfs/QmPBdJmBBABMDCfyDjCbdxgiqRavgiSL88SYPGibgbPas9"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user"},"devdoc":{"version":1,"kind":"dev","details":"String operations."},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Strings.sol","id":47255,"exportedSymbols":{"Strings":[47254]},"nodeType":"SourceUnit","src":"101:2296:28","nodes":[{"id":47030,"nodeType":"PragmaDirective","src":"101:23:28","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":47254,"nodeType":"ContractDefinition","src":"161:2235:28","nodes":[{"id":47034,"nodeType":"VariableDeclaration","src":"183:58:28","nodes":[],"constant":true,"mutability":"constant","name":"_HEX_SYMBOLS","nameLocation":"208:12:28","scope":47254,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"typeName":{"id":47032,"name":"bytes16","nodeType":"ElementaryTypeName","src":"183:7:28","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"value":{"hexValue":"30313233343536373839616263646566","id":47033,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"223:18:28","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb29997ed99ead0db59ce4d12b7d3723198c827273e5796737c926d78019c39f","typeString":"literal_string \"0123456789abcdef\""},"value":"0123456789abcdef"},"visibility":"private"},{"id":47037,"nodeType":"VariableDeclaration","src":"247:43:28","nodes":[],"constant":true,"mutability":"constant","name":"_ADDRESS_LENGTH","nameLocation":"270:15:28","scope":47254,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":47035,"name":"uint8","nodeType":"ElementaryTypeName","src":"247:5:28","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"3230","id":47036,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"288:2:28","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"},"visibility":"private"},{"id":47116,"nodeType":"FunctionDefinition","src":"392:703:28","nodes":[],"body":{"id":47115,"nodeType":"Block","src":"463:632:28","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47045,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47040,"src":"665:5:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":47046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"674:1:28","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"665:10:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47051,"nodeType":"IfStatement","src":"661:51:28","trueBody":{"id":47050,"nodeType":"Block","src":"677:35:28","statements":[{"expression":{"hexValue":"30","id":47048,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"698:3:28","typeDescriptions":{"typeIdentifier":"t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d","typeString":"literal_string \"0\""},"value":"0"},"functionReturnParameters":47044,"id":47049,"nodeType":"Return","src":"691:10:28"}]}},{"assignments":[47053],"declarations":[{"constant":false,"id":47053,"mutability":"mutable","name":"temp","nameLocation":"729:4:28","nodeType":"VariableDeclaration","scope":47115,"src":"721:12:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47052,"name":"uint256","nodeType":"ElementaryTypeName","src":"721:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":47055,"initialValue":{"id":47054,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47040,"src":"736:5:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"721:20:28"},{"assignments":[47057],"declarations":[{"constant":false,"id":47057,"mutability":"mutable","name":"digits","nameLocation":"759:6:28","nodeType":"VariableDeclaration","scope":47115,"src":"751:14:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47056,"name":"uint256","nodeType":"ElementaryTypeName","src":"751:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":47058,"nodeType":"VariableDeclarationStatement","src":"751:14:28"},{"body":{"id":47069,"nodeType":"Block","src":"793:57:28","statements":[{"expression":{"id":47063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"807:8:28","subExpression":{"id":47062,"name":"digits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47057,"src":"807:6:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47064,"nodeType":"ExpressionStatement","src":"807:8:28"},{"expression":{"id":47067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47065,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47053,"src":"829:4:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"hexValue":"3130","id":47066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"837:2:28","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"829:10:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47068,"nodeType":"ExpressionStatement","src":"829:10:28"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47059,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47053,"src":"782:4:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":47060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"790:1:28","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"782:9:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47070,"nodeType":"WhileStatement","src":"775:75:28"},{"assignments":[47072],"declarations":[{"constant":false,"id":47072,"mutability":"mutable","name":"buffer","nameLocation":"872:6:28","nodeType":"VariableDeclaration","scope":47115,"src":"859:19:28","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":47071,"name":"bytes","nodeType":"ElementaryTypeName","src":"859:5:28","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":47077,"initialValue":{"arguments":[{"id":47075,"name":"digits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47057,"src":"891:6:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47074,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"881:9:28","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":47073,"name":"bytes","nodeType":"ElementaryTypeName","src":"885:5:28","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":47076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"881:17:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"859:39:28"},{"body":{"id":47108,"nodeType":"Block","src":"927:131:28","statements":[{"expression":{"id":47083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47081,"name":"digits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47057,"src":"941:6:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":47082,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"951:1:28","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"941:11:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47084,"nodeType":"ExpressionStatement","src":"941:11:28"},{"expression":{"id":47102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":47085,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47072,"src":"966:6:28","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":47087,"indexExpression":{"id":47086,"name":"digits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47057,"src":"973:6:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"966:14:28","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3438","id":47092,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"996:2:28","typeDescriptions":{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},"value":"48"},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47095,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47040,"src":"1009:5:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"hexValue":"3130","id":47096,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1017:2:28","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"1009:10:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47094,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1001:7:28","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":47093,"name":"uint256","nodeType":"ElementaryTypeName","src":"1001:7:28","typeDescriptions":{}}},"id":47098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1001:19:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"996:24:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47091,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"990:5:28","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":47090,"name":"uint8","nodeType":"ElementaryTypeName","src":"990:5:28","typeDescriptions":{}}},"id":47100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"990:31:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":47089,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"983:6:28","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":47088,"name":"bytes1","nodeType":"ElementaryTypeName","src":"983:6:28","typeDescriptions":{}}},"id":47101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"983:39:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"966:56:28","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":47103,"nodeType":"ExpressionStatement","src":"966:56:28"},{"expression":{"id":47106,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47104,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47040,"src":"1036:5:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"hexValue":"3130","id":47105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1045:2:28","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"1036:11:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47107,"nodeType":"ExpressionStatement","src":"1036:11:28"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47078,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47040,"src":"915:5:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":47079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"924:1:28","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"915:10:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47109,"nodeType":"WhileStatement","src":"908:150:28"},{"expression":{"arguments":[{"id":47112,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47072,"src":"1081:6:28","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47111,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1074:6:28","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":47110,"name":"string","nodeType":"ElementaryTypeName","src":"1074:6:28","typeDescriptions":{}}},"id":47113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1074:14:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":47044,"id":47114,"nodeType":"Return","src":"1067:21:28"}]},"documentation":{"id":47038,"nodeType":"StructuredDocumentation","src":"297:90:28","text":" @dev Converts a `uint256` to its ASCII `string` decimal representation."},"implemented":true,"kind":"function","modifiers":[],"name":"toString","nameLocation":"401:8:28","parameters":{"id":47041,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47040,"mutability":"mutable","name":"value","nameLocation":"418:5:28","nodeType":"VariableDeclaration","scope":47116,"src":"410:13:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47039,"name":"uint256","nodeType":"ElementaryTypeName","src":"410:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"409:15:28"},"returnParameters":{"id":47044,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47043,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47116,"src":"448:13:28","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47042,"name":"string","nodeType":"ElementaryTypeName","src":"448:6:28","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"447:15:28"},"scope":47254,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47157,"nodeType":"FunctionDefinition","src":"1200:329:28","nodes":[],"body":{"id":47156,"nodeType":"Block","src":"1274:255:28","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47124,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47119,"src":"1288:5:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":47125,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1297:1:28","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1288:10:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47130,"nodeType":"IfStatement","src":"1284:54:28","trueBody":{"id":47129,"nodeType":"Block","src":"1300:38:28","statements":[{"expression":{"hexValue":"30783030","id":47127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1321:6:28","typeDescriptions":{"typeIdentifier":"t_stringliteral_27489e20a0060b723a1748bdff5e44570ee9fae64141728105692eac6031e8a4","typeString":"literal_string \"0x00\""},"value":"0x00"},"functionReturnParameters":47123,"id":47128,"nodeType":"Return","src":"1314:13:28"}]}},{"assignments":[47132],"declarations":[{"constant":false,"id":47132,"mutability":"mutable","name":"temp","nameLocation":"1355:4:28","nodeType":"VariableDeclaration","scope":47156,"src":"1347:12:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47131,"name":"uint256","nodeType":"ElementaryTypeName","src":"1347:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":47134,"initialValue":{"id":47133,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47119,"src":"1362:5:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1347:20:28"},{"assignments":[47136],"declarations":[{"constant":false,"id":47136,"mutability":"mutable","name":"length","nameLocation":"1385:6:28","nodeType":"VariableDeclaration","scope":47156,"src":"1377:14:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47135,"name":"uint256","nodeType":"ElementaryTypeName","src":"1377:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":47138,"initialValue":{"hexValue":"30","id":47137,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1394:1:28","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"1377:18:28"},{"body":{"id":47149,"nodeType":"Block","src":"1423:57:28","statements":[{"expression":{"id":47143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"1437:8:28","subExpression":{"id":47142,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47136,"src":"1437:6:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47144,"nodeType":"ExpressionStatement","src":"1437:8:28"},{"expression":{"id":47147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47145,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47132,"src":"1459:4:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"38","id":47146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1468:1:28","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"1459:10:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47148,"nodeType":"ExpressionStatement","src":"1459:10:28"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47139,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47132,"src":"1412:4:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":47140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1420:1:28","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1412:9:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47150,"nodeType":"WhileStatement","src":"1405:75:28"},{"expression":{"arguments":[{"id":47152,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47119,"src":"1508:5:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47153,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47136,"src":"1515:6:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47151,"name":"toHexString","nodeType":"Identifier","overloadedDeclarations":[47157,47233,47253],"referencedDeclaration":47233,"src":"1496:11:28","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256,uint256) pure returns (string memory)"}},"id":47154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1496:26:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":47123,"id":47155,"nodeType":"Return","src":"1489:33:28"}]},"documentation":{"id":47117,"nodeType":"StructuredDocumentation","src":"1101:94:28","text":" @dev Converts a `uint256` to its ASCII `string` hexadecimal representation."},"implemented":true,"kind":"function","modifiers":[],"name":"toHexString","nameLocation":"1209:11:28","parameters":{"id":47120,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47119,"mutability":"mutable","name":"value","nameLocation":"1229:5:28","nodeType":"VariableDeclaration","scope":47157,"src":"1221:13:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47118,"name":"uint256","nodeType":"ElementaryTypeName","src":"1221:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1220:15:28"},"returnParameters":{"id":47123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47122,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47157,"src":"1259:13:28","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47121,"name":"string","nodeType":"ElementaryTypeName","src":"1259:6:28","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1258:15:28"},"scope":47254,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47233,"nodeType":"FunctionDefinition","src":"1652:441:28","nodes":[],"body":{"id":47232,"nodeType":"Block","src":"1742:351:28","nodes":[],"statements":[{"assignments":[47168],"declarations":[{"constant":false,"id":47168,"mutability":"mutable","name":"buffer","nameLocation":"1765:6:28","nodeType":"VariableDeclaration","scope":47232,"src":"1752:19:28","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":47167,"name":"bytes","nodeType":"ElementaryTypeName","src":"1752:5:28","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":47177,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":47171,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1784:1:28","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":47172,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47162,"src":"1788:6:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1784:10:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":47174,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1797:1:28","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"1784:14:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47170,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1774:9:28","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":47169,"name":"bytes","nodeType":"ElementaryTypeName","src":"1778:5:28","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":47176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1774:25:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"1752:47:28"},{"expression":{"id":47182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":47178,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47168,"src":"1809:6:28","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":47180,"indexExpression":{"hexValue":"30","id":47179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1816:1:28","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1809:9:28","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":47181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1821:3:28","typeDescriptions":{"typeIdentifier":"t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d","typeString":"literal_string \"0\""},"value":"0"},"src":"1809:15:28","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":47183,"nodeType":"ExpressionStatement","src":"1809:15:28"},{"expression":{"id":47188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":47184,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47168,"src":"1834:6:28","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":47186,"indexExpression":{"hexValue":"31","id":47185,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1841:1:28","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1834:9:28","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"78","id":47187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1846:3:28","typeDescriptions":{"typeIdentifier":"t_stringliteral_7521d1cadbcfa91eec65aa16715b94ffc1c9654ba57ea2ef1a2127bca1127a83","typeString":"literal_string \"x\""},"value":"x"},"src":"1834:15:28","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":47189,"nodeType":"ExpressionStatement","src":"1834:15:28"},{"body":{"id":47218,"nodeType":"Block","src":"1904:87:28","statements":[{"expression":{"id":47212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":47204,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47168,"src":"1918:6:28","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":47206,"indexExpression":{"id":47205,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47191,"src":"1925:1:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1918:9:28","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":47207,"name":"_HEX_SYMBOLS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47034,"src":"1930:12:28","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"id":47211,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47208,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47160,"src":"1943:5:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307866","id":47209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1951:3:28","typeDescriptions":{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},"value":"0xf"},"src":"1943:11:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1930:25:28","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"1918:37:28","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":47213,"nodeType":"ExpressionStatement","src":"1918:37:28"},{"expression":{"id":47216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47214,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47160,"src":"1969:5:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"34","id":47215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1979:1:28","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"1969:11:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47217,"nodeType":"ExpressionStatement","src":"1969:11:28"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47198,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47191,"src":"1892:1:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31","id":47199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1896:1:28","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1892:5:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47219,"initializationExpression":{"assignments":[47191],"declarations":[{"constant":false,"id":47191,"mutability":"mutable","name":"i","nameLocation":"1872:1:28","nodeType":"VariableDeclaration","scope":47219,"src":"1864:9:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47190,"name":"uint256","nodeType":"ElementaryTypeName","src":"1864:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":47197,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":47192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1876:1:28","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":47193,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47162,"src":"1880:6:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1876:10:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":47195,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1889:1:28","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1876:14:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1864:26:28"},"loopExpression":{"expression":{"id":47202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":true,"src":"1899:3:28","subExpression":{"id":47201,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47191,"src":"1901:1:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47203,"nodeType":"ExpressionStatement","src":"1899:3:28"},"nodeType":"ForStatement","src":"1859:132:28"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47221,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47160,"src":"2008:5:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":47222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2017:1:28","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2008:10:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537472696e67733a20686578206c656e67746820696e73756666696369656e74","id":47224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2020:34:28","typeDescriptions":{"typeIdentifier":"t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2","typeString":"literal_string \"Strings: hex length insufficient\""},"value":"Strings: hex length insufficient"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2","typeString":"literal_string \"Strings: hex length insufficient\""}],"id":47220,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2000:7:28","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":47225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2000:55:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47226,"nodeType":"ExpressionStatement","src":"2000:55:28"},{"expression":{"arguments":[{"id":47229,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47168,"src":"2079:6:28","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47228,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2072:6:28","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":47227,"name":"string","nodeType":"ElementaryTypeName","src":"2072:6:28","typeDescriptions":{}}},"id":47230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2072:14:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":47166,"id":47231,"nodeType":"Return","src":"2065:21:28"}]},"documentation":{"id":47158,"nodeType":"StructuredDocumentation","src":"1535:112:28","text":" @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length."},"implemented":true,"kind":"function","modifiers":[],"name":"toHexString","nameLocation":"1661:11:28","parameters":{"id":47163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47160,"mutability":"mutable","name":"value","nameLocation":"1681:5:28","nodeType":"VariableDeclaration","scope":47233,"src":"1673:13:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47159,"name":"uint256","nodeType":"ElementaryTypeName","src":"1673:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47162,"mutability":"mutable","name":"length","nameLocation":"1696:6:28","nodeType":"VariableDeclaration","scope":47233,"src":"1688:14:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47161,"name":"uint256","nodeType":"ElementaryTypeName","src":"1688:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1672:31:28"},"returnParameters":{"id":47166,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47165,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47233,"src":"1727:13:28","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47164,"name":"string","nodeType":"ElementaryTypeName","src":"1727:6:28","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1726:15:28"},"scope":47254,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47253,"nodeType":"FunctionDefinition","src":"2245:149:28","nodes":[],"body":{"id":47252,"nodeType":"Block","src":"2318:76:28","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":47246,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47236,"src":"2363:4:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":47245,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2355:7:28","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":47244,"name":"uint160","nodeType":"ElementaryTypeName","src":"2355:7:28","typeDescriptions":{}}},"id":47247,"isConstant":false,"isLValue":false,"isPure