@tokamak-network/thanos-contracts
Version:
1 lines • 53.7 kB
JSON
{"abi":[],"bytecode":{"object":"0x602d6037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300080f000a","sourceMap":"161:2235:67:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;161:2235:67;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300080f000a","sourceMap":"161:2235:67:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"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\":\"london\",\"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.15+commit.e14f2714"},"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":"london","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":54203,"exportedSymbols":{"Strings":[54202]},"nodeType":"SourceUnit","src":"101:2296:67","nodes":[{"id":53978,"nodeType":"PragmaDirective","src":"101:23:67","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":54202,"nodeType":"ContractDefinition","src":"161:2235:67","nodes":[{"id":53982,"nodeType":"VariableDeclaration","src":"183:58:67","nodes":[],"constant":true,"mutability":"constant","name":"_HEX_SYMBOLS","nameLocation":"208:12:67","scope":54202,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"typeName":{"id":53980,"name":"bytes16","nodeType":"ElementaryTypeName","src":"183:7:67","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"value":{"hexValue":"30313233343536373839616263646566","id":53981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"223:18:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb29997ed99ead0db59ce4d12b7d3723198c827273e5796737c926d78019c39f","typeString":"literal_string \"0123456789abcdef\""},"value":"0123456789abcdef"},"visibility":"private"},{"id":53985,"nodeType":"VariableDeclaration","src":"247:43:67","nodes":[],"constant":true,"mutability":"constant","name":"_ADDRESS_LENGTH","nameLocation":"270:15:67","scope":54202,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":53983,"name":"uint8","nodeType":"ElementaryTypeName","src":"247:5:67","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"3230","id":53984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"288:2:67","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"},"visibility":"private"},{"id":54064,"nodeType":"FunctionDefinition","src":"392:703:67","nodes":[],"body":{"id":54063,"nodeType":"Block","src":"463:632:67","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":53995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":53993,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53988,"src":"665:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":53994,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"674:1:67","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"665:10:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":53999,"nodeType":"IfStatement","src":"661:51:67","trueBody":{"id":53998,"nodeType":"Block","src":"677:35:67","statements":[{"expression":{"hexValue":"30","id":53996,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"698:3:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d","typeString":"literal_string \"0\""},"value":"0"},"functionReturnParameters":53992,"id":53997,"nodeType":"Return","src":"691:10:67"}]}},{"assignments":[54001],"declarations":[{"constant":false,"id":54001,"mutability":"mutable","name":"temp","nameLocation":"729:4:67","nodeType":"VariableDeclaration","scope":54063,"src":"721:12:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54000,"name":"uint256","nodeType":"ElementaryTypeName","src":"721:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":54003,"initialValue":{"id":54002,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53988,"src":"736:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"721:20:67"},{"assignments":[54005],"declarations":[{"constant":false,"id":54005,"mutability":"mutable","name":"digits","nameLocation":"759:6:67","nodeType":"VariableDeclaration","scope":54063,"src":"751:14:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54004,"name":"uint256","nodeType":"ElementaryTypeName","src":"751:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":54006,"nodeType":"VariableDeclarationStatement","src":"751:14:67"},{"body":{"id":54017,"nodeType":"Block","src":"793:57:67","statements":[{"expression":{"id":54011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"807:8:67","subExpression":{"id":54010,"name":"digits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54005,"src":"807:6:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":54012,"nodeType":"ExpressionStatement","src":"807:8:67"},{"expression":{"id":54015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":54013,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54001,"src":"829:4:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"hexValue":"3130","id":54014,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"837:2:67","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"829:10:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":54016,"nodeType":"ExpressionStatement","src":"829:10:67"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":54007,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54001,"src":"782:4:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":54008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"790:1:67","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"782:9:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":54018,"nodeType":"WhileStatement","src":"775:75:67"},{"assignments":[54020],"declarations":[{"constant":false,"id":54020,"mutability":"mutable","name":"buffer","nameLocation":"872:6:67","nodeType":"VariableDeclaration","scope":54063,"src":"859:19:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":54019,"name":"bytes","nodeType":"ElementaryTypeName","src":"859:5:67","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":54025,"initialValue":{"arguments":[{"id":54023,"name":"digits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54005,"src":"891:6:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":54022,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"881:9:67","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":54021,"name":"bytes","nodeType":"ElementaryTypeName","src":"885:5:67","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":54024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"881:17:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"859:39:67"},{"body":{"id":54056,"nodeType":"Block","src":"927:131:67","statements":[{"expression":{"id":54031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":54029,"name":"digits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54005,"src":"941:6:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":54030,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"951:1:67","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"941:11:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":54032,"nodeType":"ExpressionStatement","src":"941:11:67"},{"expression":{"id":54050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54033,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54020,"src":"966:6:67","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":54035,"indexExpression":{"id":54034,"name":"digits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54005,"src":"973:6:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"966:14:67","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3438","id":54040,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"996:2:67","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":54045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":54043,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53988,"src":"1009:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"hexValue":"3130","id":54044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1017:2:67","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"1009:10:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":54042,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1001:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":54041,"name":"uint256","nodeType":"ElementaryTypeName","src":"1001:7:67","typeDescriptions":{}}},"id":54046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1001:19:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"996:24:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":54039,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"990:5:67","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":54038,"name":"uint8","nodeType":"ElementaryTypeName","src":"990:5:67","typeDescriptions":{}}},"id":54048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"990:31:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":54037,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"983:6:67","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":54036,"name":"bytes1","nodeType":"ElementaryTypeName","src":"983:6:67","typeDescriptions":{}}},"id":54049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"983:39:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"966:56:67","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":54051,"nodeType":"ExpressionStatement","src":"966:56:67"},{"expression":{"id":54054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":54052,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53988,"src":"1036:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"hexValue":"3130","id":54053,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1045:2:67","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"1036:11:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":54055,"nodeType":"ExpressionStatement","src":"1036:11:67"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":54026,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53988,"src":"915:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":54027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"924:1:67","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"915:10:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":54057,"nodeType":"WhileStatement","src":"908:150:67"},{"expression":{"arguments":[{"id":54060,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54020,"src":"1081:6:67","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54059,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1074:6:67","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":54058,"name":"string","nodeType":"ElementaryTypeName","src":"1074:6:67","typeDescriptions":{}}},"id":54061,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1074:14:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":53992,"id":54062,"nodeType":"Return","src":"1067:21:67"}]},"documentation":{"id":53986,"nodeType":"StructuredDocumentation","src":"297:90:67","text":" @dev Converts a `uint256` to its ASCII `string` decimal representation."},"implemented":true,"kind":"function","modifiers":[],"name":"toString","nameLocation":"401:8:67","parameters":{"id":53989,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53988,"mutability":"mutable","name":"value","nameLocation":"418:5:67","nodeType":"VariableDeclaration","scope":54064,"src":"410:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53987,"name":"uint256","nodeType":"ElementaryTypeName","src":"410:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"409:15:67"},"returnParameters":{"id":53992,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53991,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54064,"src":"448:13:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53990,"name":"string","nodeType":"ElementaryTypeName","src":"448:6:67","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"447:15:67"},"scope":54202,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54105,"nodeType":"FunctionDefinition","src":"1200:329:67","nodes":[],"body":{"id":54104,"nodeType":"Block","src":"1274:255:67","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54074,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":54072,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54067,"src":"1288:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":54073,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1297:1:67","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1288:10:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":54078,"nodeType":"IfStatement","src":"1284:54:67","trueBody":{"id":54077,"nodeType":"Block","src":"1300:38:67","statements":[{"expression":{"hexValue":"30783030","id":54075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1321:6:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_27489e20a0060b723a1748bdff5e44570ee9fae64141728105692eac6031e8a4","typeString":"literal_string \"0x00\""},"value":"0x00"},"functionReturnParameters":54071,"id":54076,"nodeType":"Return","src":"1314:13:67"}]}},{"assignments":[54080],"declarations":[{"constant":false,"id":54080,"mutability":"mutable","name":"temp","nameLocation":"1355:4:67","nodeType":"VariableDeclaration","scope":54104,"src":"1347:12:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54079,"name":"uint256","nodeType":"ElementaryTypeName","src":"1347:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":54082,"initialValue":{"id":54081,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54067,"src":"1362:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1347:20:67"},{"assignments":[54084],"declarations":[{"constant":false,"id":54084,"mutability":"mutable","name":"length","nameLocation":"1385:6:67","nodeType":"VariableDeclaration","scope":54104,"src":"1377:14:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54083,"name":"uint256","nodeType":"ElementaryTypeName","src":"1377:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":54086,"initialValue":{"hexValue":"30","id":54085,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1394:1:67","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"1377:18:67"},{"body":{"id":54097,"nodeType":"Block","src":"1423:57:67","statements":[{"expression":{"id":54091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"1437:8:67","subExpression":{"id":54090,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54084,"src":"1437:6:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":54092,"nodeType":"ExpressionStatement","src":"1437:8:67"},{"expression":{"id":54095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":54093,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54080,"src":"1459:4:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"38","id":54094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1468:1:67","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"1459:10:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":54096,"nodeType":"ExpressionStatement","src":"1459:10:67"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":54087,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54080,"src":"1412:4:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":54088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1420:1:67","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1412:9:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":54098,"nodeType":"WhileStatement","src":"1405:75:67"},{"expression":{"arguments":[{"id":54100,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54067,"src":"1508:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54101,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54084,"src":"1515:6:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":54099,"name":"toHexString","nodeType":"Identifier","overloadedDeclarations":[54105,54181,54201],"referencedDeclaration":54181,"src":"1496:11:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256,uint256) pure returns (string memory)"}},"id":54102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1496:26:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":54071,"id":54103,"nodeType":"Return","src":"1489:33:67"}]},"documentation":{"id":54065,"nodeType":"StructuredDocumentation","src":"1101:94:67","text":" @dev Converts a `uint256` to its ASCII `string` hexadecimal representation."},"implemented":true,"kind":"function","modifiers":[],"name":"toHexString","nameLocation":"1209:11:67","parameters":{"id":54068,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54067,"mutability":"mutable","name":"value","nameLocation":"1229:5:67","nodeType":"VariableDeclaration","scope":54105,"src":"1221:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54066,"name":"uint256","nodeType":"ElementaryTypeName","src":"1221:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1220:15:67"},"returnParameters":{"id":54071,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54070,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54105,"src":"1259:13:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54069,"name":"string","nodeType":"ElementaryTypeName","src":"1259:6:67","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1258:15:67"},"scope":54202,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54181,"nodeType":"FunctionDefinition","src":"1652:441:67","nodes":[],"body":{"id":54180,"nodeType":"Block","src":"1742:351:67","nodes":[],"statements":[{"assignments":[54116],"declarations":[{"constant":false,"id":54116,"mutability":"mutable","name":"buffer","nameLocation":"1765:6:67","nodeType":"VariableDeclaration","scope":54180,"src":"1752:19:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":54115,"name":"bytes","nodeType":"ElementaryTypeName","src":"1752:5:67","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":54125,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":54119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1784:1:67","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":54120,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54110,"src":"1788:6:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1784:10:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":54122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1797:1:67","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"1784:14:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":54118,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1774:9:67","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":54117,"name":"bytes","nodeType":"ElementaryTypeName","src":"1778:5:67","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":54124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1774:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"1752:47:67"},{"expression":{"id":54130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54126,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54116,"src":"1809:6:67","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":54128,"indexExpression":{"hexValue":"30","id":54127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1816:1:67","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:67","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":54129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1821:3:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d","typeString":"literal_string \"0\""},"value":"0"},"src":"1809:15:67","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":54131,"nodeType":"ExpressionStatement","src":"1809:15:67"},{"expression":{"id":54136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54132,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54116,"src":"1834:6:67","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":54134,"indexExpression":{"hexValue":"31","id":54133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1841:1:67","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:67","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"78","id":54135,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1846:3:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_7521d1cadbcfa91eec65aa16715b94ffc1c9654ba57ea2ef1a2127bca1127a83","typeString":"literal_string \"x\""},"value":"x"},"src":"1834:15:67","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":54137,"nodeType":"ExpressionStatement","src":"1834:15:67"},{"body":{"id":54166,"nodeType":"Block","src":"1904:87:67","statements":[{"expression":{"id":54160,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54152,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54116,"src":"1918:6:67","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":54154,"indexExpression":{"id":54153,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54139,"src":"1925:1:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1918:9:67","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":54155,"name":"_HEX_SYMBOLS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53982,"src":"1930:12:67","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"id":54159,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":54156,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54108,"src":"1943:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307866","id":54157,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1951:3:67","typeDescriptions":{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},"value":"0xf"},"src":"1943:11:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1930:25:67","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"1918:37:67","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":54161,"nodeType":"ExpressionStatement","src":"1918:37:67"},{"expression":{"id":54164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":54162,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54108,"src":"1969:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"34","id":54163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1979:1:67","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"1969:11:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":54165,"nodeType":"ExpressionStatement","src":"1969:11:67"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":54146,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54139,"src":"1892:1:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31","id":54147,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1896:1:67","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1892:5:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":54167,"initializationExpression":{"assignments":[54139],"declarations":[{"constant":false,"id":54139,"mutability":"mutable","name":"i","nameLocation":"1872:1:67","nodeType":"VariableDeclaration","scope":54167,"src":"1864:9:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54138,"name":"uint256","nodeType":"ElementaryTypeName","src":"1864:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":54145,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":54140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1876:1:67","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":54141,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54110,"src":"1880:6:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1876:10:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":54143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1889:1:67","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1876:14:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1864:26:67"},"loopExpression":{"expression":{"id":54150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":true,"src":"1899:3:67","subExpression":{"id":54149,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54139,"src":"1901:1:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":54151,"nodeType":"ExpressionStatement","src":"1899:3:67"},"nodeType":"ForStatement","src":"1859:132:67"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":54169,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54108,"src":"2008:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":54170,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2017:1:67","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2008:10:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537472696e67733a20686578206c656e67746820696e73756666696369656e74","id":54172,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2020:34:67","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":54168,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2000:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":54173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2000:55:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54174,"nodeType":"ExpressionStatement","src":"2000:55:67"},{"expression":{"arguments":[{"id":54177,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54116,"src":"2079:6:67","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54176,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2072:6:67","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":54175,"name":"string","nodeType":"ElementaryTypeName","src":"2072:6:67","typeDescriptions":{}}},"id":54178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2072:14:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":54114,"id":54179,"nodeType":"Return","src":"2065:21:67"}]},"documentation":{"id":54106,"nodeType":"StructuredDocumentation","src":"1535:112:67","text":" @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length."},"implemented":true,"kind":"function","modifiers":[],"name":"toHexString","nameLocation":"1661:11:67","parameters":{"id":54111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54108,"mutability":"mutable","name":"value","nameLocation":"1681:5:67","nodeType":"VariableDeclaration","scope":54181,"src":"1673:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54107,"name":"uint256","nodeType":"ElementaryTypeName","src":"1673:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54110,"mutability":"mutable","name":"length","nameLocation":"1696:6:67","nodeType":"VariableDeclaration","scope":54181,"src":"1688:14:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54109,"name":"uint256","nodeType":"ElementaryTypeName","src":"1688:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1672:31:67"},"returnParameters":{"id":54114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54113,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54181,"src":"1727:13:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54112,"name":"string","nodeType":"ElementaryTypeName","src":"1727:6:67","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1726:15:67"},"scope":54202,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54201,"nodeType":"FunctionDefinition","src":"2245:149:67","nodes":[],"body":{"id":54200,"nodeType":"Block","src":"2318:76:67","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":54194,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54184,"src":"2363:4:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":54193,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2355:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":54192,"name":"uint160","nodeType":"ElementaryTypeName","src":"2355:7:67","typeDescriptions":{}}},"id":54195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2355:13:67","tryCall":false,"typeDescriptions":{"typeIdentifi