UNPKG

@tokamak-network/thanos-contracts

Version:
1 lines 437 kB
{"abi":[{"type":"error","name":"HexLengthInsufficient","inputs":[]},{"type":"error","name":"TooBigForSmallString","inputs":[]}],"bytecode":{"object":"0x602d6037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300080f000a","sourceMap":"643:51287:106:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;643:51287:106;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300080f000a","sourceMap":"643:51287:106:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"HexLengthInsufficient\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooBigForSmallString\",\"type\":\"error\"}],\"devdoc\":{\"author\":\"Solady (https://github.com/vectorized/solady/blob/main/src/utils/LibString.sol)Modified from Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/LibString.sol) Note: For performance and bytecode compactness, most of the string operations are restricted to byte strings (7-bit ASCII), except where otherwise specified. Usage of byte string operations on charsets with runes spanning two or more bytes can lead to undefined behavior.\",\"errors\":{\"HexLengthInsufficient()\":[{\"details\":\"The length of the output is too small to contain all the hex digits.\"}],\"TooBigForSmallString()\":[{\"details\":\"The length of the string is more than 32 bytes.\"}]},\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"NOT_FOUND\":{\"details\":\"The constant returned when the `search` is not found in the string.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Library for converting numbers into strings and other string operations.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/solady/src/utils/LibString.sol\":\"LibString\"},\"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/solady/src/utils/LibString.sol\":{\"keccak256\":\"0x74ec81acbea6db4afe149ab51e26961bcb801af42f7af98242be71b866066200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://16bb49824fcfa9667aeed0eb515fdefda1016225085cf78ed852078c67168229\",\"dweb:/ipfs/QmZ59xrx5QLSx5N5CiTLrfwsPKR7kpK4RRpiEWSMEpvDzQ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.15+commit.e14f2714"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"HexLengthInsufficient"},{"inputs":[],"type":"error","name":"TooBigForSmallString"}],"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/solady/src/utils/LibString.sol":"LibString"},"evmVersion":"london","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"lib/solady/src/utils/LibString.sol":{"keccak256":"0x74ec81acbea6db4afe149ab51e26961bcb801af42f7af98242be71b866066200","urls":["bzz-raw://16bb49824fcfa9667aeed0eb515fdefda1016225085cf78ed852078c67168229","dweb:/ipfs/QmZ59xrx5QLSx5N5CiTLrfwsPKR7kpK4RRpiEWSMEpvDzQ"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user","notice":"Library for converting numbers into strings and other string operations."},"devdoc":{"version":1,"kind":"dev","author":"Solady (https://github.com/vectorized/solady/blob/main/src/utils/LibString.sol)Modified from Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/LibString.sol) Note: For performance and bytecode compactness, most of the string operations are restricted to byte strings (7-bit ASCII), except where otherwise specified. Usage of byte string operations on charsets with runes spanning two or more bytes can lead to undefined behavior.","errors":{"HexLengthInsufficient()":[{"details":"The length of the output is too small to contain all the hex digits."}],"TooBigForSmallString()":[{"details":"The length of the string is more than 32 bytes."}]}},"ast":{"absolutePath":"lib/solady/src/utils/LibString.sol","id":64644,"exportedSymbols":{"LibString":[64643]},"nodeType":"SourceUnit","src":"32:51899:106","nodes":[{"id":63990,"nodeType":"PragmaDirective","src":"32:23:106","nodes":[],"literals":["solidity","^","0.8",".4"]},{"id":64643,"nodeType":"ContractDefinition","src":"643:51287:106","nodes":[{"id":63994,"nodeType":"ErrorDefinition","src":"1032:30:106","nodes":[],"documentation":{"id":63992,"nodeType":"StructuredDocumentation","src":"950:77:106","text":"@dev The length of the output is too small to contain all the hex digits."},"errorSelector":"2194895a","name":"HexLengthInsufficient","nameLocation":"1038:21:106","parameters":{"id":63993,"nodeType":"ParameterList","parameters":[],"src":"1059:2:106"}},{"id":63997,"nodeType":"ErrorDefinition","src":"1129:29:106","nodes":[],"documentation":{"id":63995,"nodeType":"StructuredDocumentation","src":"1068:56:106","text":"@dev The length of the string is more than 32 bytes."},"errorSelector":"ec92f9a3","name":"TooBigForSmallString","nameLocation":"1135:20:106","parameters":{"id":63996,"nodeType":"ParameterList","parameters":[],"src":"1155:2:106"}},{"id":64005,"nodeType":"VariableDeclaration","src":"1528:55:106","nodes":[],"constant":true,"documentation":{"id":63998,"nodeType":"StructuredDocumentation","src":"1447:76:106","text":"@dev The constant returned when the `search` is not found in the string."},"mutability":"constant","name":"NOT_FOUND","nameLocation":"1554:9:106","scope":64643,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63999,"name":"uint256","nodeType":"ElementaryTypeName","src":"1528:7:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"expression":{"arguments":[{"id":64002,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1571:7:106","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":64001,"name":"uint256","nodeType":"ElementaryTypeName","src":"1571:7:106","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":64000,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1566:4:106","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":64003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1566:13:106","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":64004,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"1566:17:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":64015,"nodeType":"FunctionDefinition","src":"1941:1641:106","nodes":[],"body":{"id":64014,"nodeType":"Block","src":"2016:1566:106","nodes":[],"statements":[{"AST":{"nodeType":"YulBlock","src":"2078:1498:106","statements":[{"nodeType":"YulAssignment","src":"2418:29:106","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2435:4:106","type":"","value":"0x40"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2429:5:106"},"nodeType":"YulFunctionCall","src":"2429:11:106"},{"kind":"number","nodeType":"YulLiteral","src":"2442:4:106","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2425:3:106"},"nodeType":"YulFunctionCall","src":"2425:22:106"},"variableNames":[{"name":"str","nodeType":"YulIdentifier","src":"2418:3:106"}]},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2526:4:106","type":"","value":"0x40"},{"arguments":[{"name":"str","nodeType":"YulIdentifier","src":"2536:3:106"},{"kind":"number","nodeType":"YulLiteral","src":"2541:4:106","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2532:3:106"},"nodeType":"YulFunctionCall","src":"2532:14:106"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2519:6:106"},"nodeType":"YulFunctionCall","src":"2519:28:106"},"nodeType":"YulExpressionStatement","src":"2519:28:106"},{"expression":{"arguments":[{"name":"str","nodeType":"YulIdentifier","src":"2617:3:106"},{"kind":"number","nodeType":"YulLiteral","src":"2622:1:106","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2610:6:106"},"nodeType":"YulFunctionCall","src":"2610:14:106"},"nodeType":"YulExpressionStatement","src":"2610:14:106"},{"nodeType":"YulVariableDeclaration","src":"2712:14:106","value":{"name":"str","nodeType":"YulIdentifier","src":"2723:3:106"},"variables":[{"name":"end","nodeType":"YulTypedName","src":"2716:3:106","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2740:15:106","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2753:1:106","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2749:3:106"},"nodeType":"YulFunctionCall","src":"2749:6:106"},"variables":[{"name":"w","nodeType":"YulTypedName","src":"2744:1:106","type":""}]},{"body":{"nodeType":"YulBlock","src":"2975:371:106","statements":[{"nodeType":"YulAssignment","src":"2993:18:106","value":{"arguments":[{"name":"str","nodeType":"YulIdentifier","src":"3004:3:106"},{"name":"w","nodeType":"YulIdentifier","src":"3009:1:106"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3000:3:106"},"nodeType":"YulFunctionCall","src":"3000:11:106"},"variableNames":[{"name":"str","nodeType":"YulIdentifier","src":"2993:3:106"}]},{"expression":{"arguments":[{"name":"str","nodeType":"YulIdentifier","src":"3172:3:106"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3181:2:106","type":"","value":"48"},{"arguments":[{"name":"temp","nodeType":"YulIdentifier","src":"3189:4:106"},{"kind":"number","nodeType":"YulLiteral","src":"3195:2:106","type":"","value":"10"}],"functionName":{"name":"mod","nodeType":"YulIdentifier","src":"3185:3:106"},"nodeType":"YulFunctionCall","src":"3185:13:106"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3177:3:106"},"nodeType":"YulFunctionCall","src":"3177:22:106"}],"functionName":{"name":"mstore8","nodeType":"YulIdentifier","src":"3164:7:106"},"nodeType":"YulFunctionCall","src":"3164:36:106"},"nodeType":"YulExpressionStatement","src":"3164:36:106"},{"nodeType":"YulAssignment","src":"3269:21:106","value":{"arguments":[{"name":"temp","nodeType":"YulIdentifier","src":"3281:4:106"},{"kind":"number","nodeType":"YulLiteral","src":"3287:2:106","type":"","value":"10"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"3277:3:106"},"nodeType":"YulFunctionCall","src":"3277:13:106"},"variableNames":[{"name":"temp","nodeType":"YulIdentifier","src":"3269:4:106"}]},{"body":{"nodeType":"YulBlock","src":"3323:9:106","statements":[{"nodeType":"YulBreak","src":"3325:5:106"}]},"condition":{"arguments":[{"name":"temp","nodeType":"YulIdentifier","src":"3317:4:106"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3310:6:106"},"nodeType":"YulFunctionCall","src":"3310:12:106"},"nodeType":"YulIf","src":"3307:25:106"}]},"condition":{"kind":"number","nodeType":"YulLiteral","src":"2970:1:106","type":"","value":"1"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"2972:2:106","statements":[]},"pre":{"nodeType":"YulBlock","src":"2948:21:106","statements":[{"nodeType":"YulVariableDeclaration","src":"2950:17:106","value":{"name":"value","nodeType":"YulIdentifier","src":"2962:5:106"},"variables":[{"name":"temp","nodeType":"YulTypedName","src":"2954:4:106","type":""}]}]},"src":"2944:402:106"},{"nodeType":"YulVariableDeclaration","src":"3360:27:106","value":{"arguments":[{"name":"end","nodeType":"YulIdentifier","src":"3378:3:106"},{"name":"str","nodeType":"YulIdentifier","src":"3383:3:106"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3374:3:106"},"nodeType":"YulFunctionCall","src":"3374:13:106"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"3364:6:106","type":""}]},{"nodeType":"YulAssignment","src":"3480:21:106","value":{"arguments":[{"name":"str","nodeType":"YulIdentifier","src":"3491:3:106"},{"kind":"number","nodeType":"YulLiteral","src":"3496:4:106","type":"","value":"0x20"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3487:3:106"},"nodeType":"YulFunctionCall","src":"3487:14:106"},"variableNames":[{"name":"str","nodeType":"YulIdentifier","src":"3480:3:106"}]},{"expression":{"arguments":[{"name":"str","nodeType":"YulIdentifier","src":"3554:3:106"},{"name":"length","nodeType":"YulIdentifier","src":"3559:6:106"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3547:6:106"},"nodeType":"YulFunctionCall","src":"3547:19:106"},"nodeType":"YulExpressionStatement","src":"3547:19:106"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":64011,"isOffset":false,"isSlot":false,"src":"2418:3:106","valueSize":1},{"declaration":64011,"isOffset":false,"isSlot":false,"src":"2536:3:106","valueSize":1},{"declaration":64011,"isOffset":false,"isSlot":false,"src":"2617:3:106","valueSize":1},{"declaration":64011,"isOffset":false,"isSlot":false,"src":"2723:3:106","valueSize":1},{"declaration":64011,"isOffset":false,"isSlot":false,"src":"2993:3:106","valueSize":1},{"declaration":64011,"isOffset":false,"isSlot":false,"src":"3004:3:106","valueSize":1},{"declaration":64011,"isOffset":false,"isSlot":false,"src":"3172:3:106","valueSize":1},{"declaration":64011,"isOffset":false,"isSlot":false,"src":"3383:3:106","valueSize":1},{"declaration":64011,"isOffset":false,"isSlot":false,"src":"3480:3:106","valueSize":1},{"declaration":64011,"isOffset":false,"isSlot":false,"src":"3491:3:106","valueSize":1},{"declaration":64011,"isOffset":false,"isSlot":false,"src":"3554:3:106","valueSize":1},{"declaration":64008,"isOffset":false,"isSlot":false,"src":"2962:5:106","valueSize":1}],"id":64013,"nodeType":"InlineAssembly","src":"2069:1507:106"}]},"documentation":{"id":64006,"nodeType":"StructuredDocumentation","src":"1873:63:106","text":"@dev Returns the base 10 decimal representation of `value`."},"implemented":true,"kind":"function","modifiers":[],"name":"toString","nameLocation":"1950:8:106","parameters":{"id":64009,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64008,"mutability":"mutable","name":"value","nameLocation":"1967:5:106","nodeType":"VariableDeclaration","scope":64015,"src":"1959:13:106","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64007,"name":"uint256","nodeType":"ElementaryTypeName","src":"1959:7:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1958:15:106"},"returnParameters":{"id":64012,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64011,"mutability":"mutable","name":"str","nameLocation":"2011:3:106","nodeType":"VariableDeclaration","scope":64015,"src":"1997:17:106","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":64010,"name":"string","nodeType":"ElementaryTypeName","src":"1997:6:106","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1996:19:106"},"scope":64643,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":64048,"nodeType":"FunctionDefinition","src":"3656:716:106","nodes":[],"body":{"id":64047,"nodeType":"Block","src":"3730:642:106","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":64025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":64023,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64018,"src":"3744:5:106","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"30","id":64024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3753:1:106","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3744:10:106","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":64034,"nodeType":"IfStatement","src":"3740:72:106","trueBody":{"id":64033,"nodeType":"Block","src":"3756:56:106","statements":[{"expression":{"arguments":[{"arguments":[{"id":64029,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64018,"src":"3794:5:106","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":64028,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3786:7:106","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":64027,"name":"uint256","nodeType":"ElementaryTypeName","src":"3786:7:106","typeDescriptions":{}}},"id":64030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3786:14:106","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64026,"name":"toString","nodeType":"Identifier","overloadedDeclarations":[64015,64048],"referencedDeclaration":64015,"src":"3777:8:106","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":64031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3777:24:106","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":64022,"id":64032,"nodeType":"Return","src":"3770:31:106"}]}},{"id":64045,"nodeType":"UncheckedBlock","src":"3821:66:106","statements":[{"expression":{"id":64043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64035,"name":"str","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64021,"src":"3845:3:106","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":64040,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"3868:6:106","subExpression":{"id":64039,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64018,"src":"3869:5:106","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":64038,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3860:7:106","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":64037,"name":"uint256","nodeType":"ElementaryTypeName","src":"3860:7:106","typeDescriptions":{}}},"id":64041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3860:15:106","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64036,"name":"toString","nodeType":"Identifier","overloadedDeclarations":[64015,64048],"referencedDeclaration":64015,"src":"3851:8:106","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":64042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3851:25:106","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"3845:31:106","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":64044,"nodeType":"ExpressionStatement","src":"3845:31:106"}]},{"AST":{"nodeType":"YulBlock","src":"3948:418:106","statements":[{"nodeType":"YulVariableDeclaration","src":"4104:24:106","value":{"arguments":[{"name":"str","nodeType":"YulIdentifier","src":"4124:3:106"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4118:5:106"},"nodeType":"YulFunctionCall","src":"4118:10:106"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"4108:6:106","type":""}]},{"expression":{"arguments":[{"name":"str","nodeType":"YulIdentifier","src":"4175:3:106"},{"kind":"number","nodeType":"YulLiteral","src":"4180:4:106","type":"","value":"0x2d"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4168:6:106"},"nodeType":"YulFunctionCall","src":"4168:17:106"},"nodeType":"YulExpressionStatement","src":"4168:17:106"},{"nodeType":"YulAssignment","src":"4226:18:106","value":{"arguments":[{"name":"str","nodeType":"YulIdentifier","src":"4237:3:106"},{"kind":"number","nodeType":"YulLiteral","src":"4242:1:106","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4233:3:106"},"nodeType":"YulFunctionCall","src":"4233:11:106"},"variableNames":[{"name":"str","nodeType":"YulIdentifier","src":"4226:3:106"}]},{"expression":{"arguments":[{"name":"str","nodeType":"YulIdentifier","src":"4307:3:106"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4316:6:106"},{"kind":"number","nodeType":"YulLiteral","src":"4324:1:106","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4312:3:106"},"nodeType":"YulFunctionCall","src":"4312:14:106"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4300:6:106"},"nodeType":"YulFunctionCall","src":"4300:27:106"},"nodeType":"YulExpressionStatement","src":"4300:27:106"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":64021,"isOffset":false,"isSlot":false,"src":"4124:3:106","valueSize":1},{"declaration":64021,"isOffset":false,"isSlot":false,"src":"4175:3:106","valueSize":1},{"declaration":64021,"isOffset":false,"isSlot":false,"src":"4226:3:106","valueSize":1},{"declaration":64021,"isOffset":false,"isSlot":false,"src":"4237:3:106","valueSize":1},{"declaration":64021,"isOffset":false,"isSlot":false,"src":"4307:3:106","valueSize":1}],"id":64046,"nodeType":"InlineAssembly","src":"3939:427:106"}]},"documentation":{"id":64016,"nodeType":"StructuredDocumentation","src":"3588:63:106","text":"@dev Returns the base 10 decimal representation of `value`."},"implemented":true,"kind":"function","modifiers":[],"name":"toString","nameLocation":"3665:8:106","parameters":{"id":64019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64018,"mutability":"mutable","name":"value","nameLocation":"3681:5:106","nodeType":"VariableDeclaration","scope":64048,"src":"3674:12:106","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":64017,"name":"int256","nodeType":"ElementaryTypeName","src":"3674:6:106","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3673:14:106"},"returnParameters":{"id":64022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64021,"mutability":"mutable","name":"str","nameLocation":"3725:3:106","nodeType":"VariableDeclaration","scope":64048,"src":"3711:17:106","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":64020,"name":"string","nodeType":"ElementaryTypeName","src":"3711:6:106","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3710:19:106"},"scope":64643,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":64067,"nodeType":"FunctionDefinition","src":"5009:460:106","nodes":[],"body":{"id":64066,"nodeType":"Block","src":"5103:366:106","nodes":[],"statements":[{"expression":{"id":64063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64058,"name":"str","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64056,"src":"5113:3:106","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":64060,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64051,"src":"5139:5:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64061,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64053,"src":"5146:6:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64059,"name":"toHexStringNoPrefix","nodeType":"Identifier","overloadedDeclarations":[64079,64137,64179,64205],"referencedDeclaration":64079,"src":"5119:19:106","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256,uint256) pure returns (string memory)"}},"id":64062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5119:34:106","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"5113:40:106","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":64064,"nodeType":"ExpressionStatement","src":"5113:40:106"},{"AST":{"nodeType":"YulBlock","src":"5215:248:106","statements":[{"nodeType":"YulVariableDeclaration","src":"5229:35:106","value":{"arguments":[{"arguments":[{"name":"str","nodeType":"YulIdentifier","src":"5256:3:106"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5250:5:106"},"nodeType":"YulFunctionCall","src":"5250:10:106"},{"kind":"number","nodeType":"YulLiteral","src":"5262:1:106","type":"","value":"2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5246:3:106"},"nodeType":"YulFunctionCall","src":"5246:18:106"},"variables":[{"name":"strLength","nodeType":"YulTypedName","src":"5233:9:106","type":""}]},{"expression":{"arguments":[{"name":"str","nodeType":"YulIdentifier","src":"5307:3:106"},{"kind":"number","nodeType":"YulLiteral","src":"5312:6:106","type":"","value":"0x3078"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5300:6:106"},"nodeType":"YulFunctionCall","src":"5300:19:106"},"nodeType":"YulExpressionStatement","src":"5300:19:106"},{"nodeType":"YulAssignment","src":"5358:18:106","value":{"arguments":[{"name":"str","nodeType":"YulIdentifier","src":"5369:3:106"},{"kind":"number","nodeType":"YulLiteral","src":"5374:1:106","type":"","value":"2"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5365:3:106"},"nodeType":"YulFunctionCall","src":"5365:11:106"},"variableNames":[{"name":"str","nodeType":"YulIdentifier","src":"5358:3:106"}]},{"expression":{"arguments":[{"name":"str","nodeType":"YulIdentifier","src":"5417:3:106"},{"name":"strLength","nodeType":"YulIdentifier","src":"5422:9:106"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5410:6:106"},"nodeType":"YulFunctionCall","src":"5410:22:106"},"nodeType":"YulExpressionStatement","src":"5410:22:106"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":64056,"isOffset":false,"isSlot":false,"src":"5256:3:106","valueSize":1},{"declaration":64056,"isOffset":false,"isSlot":false,"src":"5307:3:106","valueSize":1},{"declaration":64056,"isOffset":false,"isSlot":false,"src":"5358:3:106","valueSize":1},{"declaration":64056,"isOffset":false,"isSlot":false,"src":"5369:3:106","valueSize":1},{"declaration":64056,"isOffset":false,"isSlot":false,"src":"5417:3:106","valueSize":1}],"id":64065,"nodeType":"InlineAssembly","src":"5206:257:106"}]},"documentation":{"id":64049,"nodeType":"StructuredDocumentation","src":"4661:343:106","text":"@dev Returns the hexadecimal representation of `value`,\n left-padded to an input length of `length` bytes.\n The output is prefixed with \"0x\" encoded using 2 hexadecimal digits per byte,\n giving a total length of `length * 2 + 2` bytes.\n Reverts if `length` is too small for the output to contain all the digits."},"implemented":true,"kind":"function","modifiers":[],"name":"toHexString","nameLocation":"5018:11:106","parameters":{"id":64054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64051,"mutability":"mutable","name":"value","nameLocation":"5038:5:106","nodeType":"VariableDeclaration","scope":64067,"src":"5030:13:106","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64050,"name":"uint256","nodeType":"ElementaryTypeName","src":"5030:7:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64053,"mutability":"mutable","name":"length","nameLocation":"5053:6:106","nodeType":"VariableDeclaration","scope":64067,"src":"5045:14:106","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64052,"name":"uint256","nodeType":"ElementaryTypeName","src":"5045:7:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5029:31:106"},"returnParameters":{"id":64057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64056,"mutability":"mutable","name":"str","nameLocation":"5098:3:106","nodeType":"VariableDeclaration","scope":64067,"src":"5084:17:106","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":64055,"name":"string","nodeType":"ElementaryTypeName","src":"5084:6:106","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5083:19:106"},"scope":64643,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":64079,"nodeType":"FunctionDefinition","src":"5819:1897:106","nodes":[],"body":{"id":64078,"nodeType":"Block","src":"5949:1767:106","nodes":[],"statements":[{"AST":{"nodeType":"YulBlock","src":"6011:1699:106","statements":[{"nodeType":"YulAssignment","src":"6328:66:106","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6345:4:106","type":"","value":"0x40"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6339:5:106"},"nodeType":"YulFunctionCall","src":"6339:11:106"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6364:1:106","type":"","value":"1"},{"name":"length","nodeType":"YulIdentifier","src":"6367:6:106"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6360:3:106"},"nodeType":"YulFunctionCall","src":"6360:14:106"},{"kind":"number","nodeType":"YulLiteral","src":"6376:4:106","type":"","value":"0x42"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6356:3:106"},"nodeType":"YulFunctionCall","src":"6356:25:106"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6387:4:106","type":"","value":"0x1f"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"6383:3:106"},"nodeType":"YulFunctionCall","src":"6383:9:106"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6352:3:106"},"nodeType":"YulFunctionCall","src":"6352:41:106"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6335:3:106"},"nodeType":"YulFunctionCall","src":"6335:59:106"},"variableNames":[{"name":"str","nodeType":"YulIdentifier","src":"6328:3:106"}]},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6450:4:106","type":"","value":"0x40"},{"arguments":[{"name":"str","nodeType":"YulIdentifier","src":"6460:3:106"},{"kind":"number","nodeType":"YulLiteral","src":"6465:4:106","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6456:3:106"},"nodeType":"YulFunctionCall","src":"6456:14:106"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6443:6:106"},"nodeType":"YulFunctionCall","src":"6443:28:106"},"nodeType":"YulExpressionStatement","src":"6443:28:106"},{"expression":{"arguments":[{"name":"str","nodeType":"YulIdentifier","src":"6541:3:106"},{"kind":"number","nodeType":"YulLiteral","src":"6546:1:106","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6534:6:106"},"nodeType":"YulFunctionCall","src":"6534:14:106"},"nodeType":"YulExpressionStatement","src":"6534:14:106"},{"nodeType":"YulVariableDeclaration","src":"6622:14:106","value":{"name":"str","nodeType":"YulIdentifier","src":"6633:3:106"},"variables":[{"name":"end","nodeType":"YulTypedName","src":"6626:3:106","type":""}]},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6714:4:106","type":"","value":"0x0f"},{"kind":"number","nodeType":"YulLiteral","src":"6720:34:106","type":"","value":"0x30313233343536373839616263646566"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6707:6:106"},"nodeType":"YulFunctionCall","src":"6707:48:106"},"nodeType":"YulExpressionStatement","src":"6707:48:106"},{"nodeType":"YulVariableDeclaration","src":"6769:42:106","value":{"arguments":[{"name":"str","nodeType":"YulIdentifier","src":"6786:3:106"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"6795:6:106"},{"name":"length","nodeType":"YulIdentifier","src":"6803:6:106"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6791:3:106"},"nodeType":"YulFunctionCall","src":"6791:19:106"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6782:3:106"},"nodeType":"YulFunctionCall","src":"6782:29:106"},"variables":[{"name":"start","nodeType":"YulTypedName","src":"6773:5:106","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6824:15:106","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6837:1:106","type":"","value":"1"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"6833:3:106"},"nodeType":"YulFunctionCall","src":"6833:6:106"},"variables":[{"name":"w","nodeType":"YulTypedName","src":"6828:1:106","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6860:17:106","value":{"name":"value","nodeType":"YulIdentifier","src":"6872:5:106"},"variables":[{"name":"temp","nodeType":"YulTypedName","src":"6864:4:106","type":""}]},{"body":{"nodeType":"YulBlock","src":"7070:276:106","statements":[{"nodeType":"YulAssignment","src":"7088:18:106","value":{"arguments":[{"name":"str","nodeType":"YulIdentifier","src":"7099:3:106"},{"name":"w","nodeType":"YulIdentifier","src":"7104:1:106"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7095:3:106"},"nodeType":"YulFunctionCall","src":"7095:11:106"},"variableNames":[{"name":"str","nodeType":"YulIdentifier","src":"7088:3:106"}]},{"expression":{"arguments":[{"arguments":[{"name":"str","nodeType":"YulIdentifier","src":"7153:3:106"},{"kind":"number","nodeType":"YulLiteral","src":"7158:1:106","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7149:3:106"},"nodeType":"YulFunctionCall","src":"7149:11:106"},{"arguments":[{"arguments":[{"name":"temp","nodeType":"YulIdentifier","src":"7172:4:106"},{"kind":"number","nodeType":"YulLiteral","src":"7178:2:106","type":"","value":"15"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7168:3:106"},"nodeType":"YulFunctionCall","src":"7168:13:106"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7162:5:106"},"nodeType":"YulFunctionCall","src":"7162:20:106"}],"functionName":{"name":"mstore8","nodeType":"YulIdentifier","src":"7141:7:106"},"nodeType":"YulFunctionCall","src":"7141:42:106"},"nodeType":"YulExpressionStatement","src":"7141:42:106"},{"expression":{"arguments":[{"name":"str","nodeType":"YulIdentifier","src":"7208:3:106"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7227:1:106","type":"","value":"4"},{"name":"temp","nodeType":"YulIdentifier","src":"7230:4:106"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"7223:3:106"},"nodeType":"YulFunctionCall","src":"7223:12:106"},{"kind":"number","nodeType":"YulLiteral","src":"7237:2:106","type":"","value":"15"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7219:3:106"},"nodeType":"YulFunctionCall","src":"7219:21:106"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7213:5:106"},"nodeType":"YulFunctionCall","src":"7213:28:106"}],"functionName":{"name":"mstore8","nodeType":"YulIdentifier","src":"7200:7:106"},"nodeType":"YulFunctionCall","src":"7200:42:106"},"nodeType":"YulExpressionStatement","src":"7200:42:106"},{"nodeType":"YulAssignment","src":"7259:20:106","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7271:1:106","type":"","value":"8"},{"name":"temp","nodeType":"YulIdentifier","src":"7274:4:106"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"7267:3:106"},"nodeType":"YulFunctionCall","src":"7267:12:106"},"variableNames":[{"name":"temp","nodeType":"YulIdentifier","src":"7259:4:106"}]},{"body":{"nodeType":"YulBlock","src":"7323:9:106","statements":[{"nodeType":"YulBreak","src":"7325:5:106"}]},"condition":{"arguments":[{"arguments":[{"name":"str","nodeType":"YulIdentifier","src":"7310:3:106"},{"name":"start","nodeType":"YulIdentifier","src":"7315:5:106"}],"functionName":{"name":"xor","nodeType":"YulIdentifier","src":"7306:3:106"},"nodeType":"YulFunctionCall","src":"7306:15:106"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7299:6:106"},"nodeType":"YulFunctionCall","src":"7299:23:106"},"nodeType":"YulIf","src":"7296:36:106"}]},"condition":{"kind":"number","nodeType":"YulLiteral","src":"7065:1:106","type":"","value":"1"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"7067:2:106","statements":[]},"pre":{"nodeType":"YulBlock","src":"7062:2:106","statements":[]},"src":"7058:288:106"},{"body":{"nodeType":"YulBlock","src":"7368:121:106","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7393:4:106","type":"","value":"0x00"},{"kind":"number","nodeType":"YulLiteral","src":"7399:10:106","type":"","value":"0x2194895a"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7386:6:106"},"nodeType":"YulFunctionCall","src":"7386:24:106"},"nodeType":"YulExpressionStatement","src":"7386:24:106"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7464:4:106","type":"","value":"0x1c"},{"kind":"number","nodeType":"YulLiteral","src":"7470:4:106","type":"","value":"0x04"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7457:6:106"},"nodeType":"YulFunctionCall","src":"7457:18:106"},"nodeType":"YulExpressionStatement","src":"7457:18:106"}]},"condition":{"name":"temp","nodeType":"YulIdentifier","src":"7363:4:106"},"nodeType":"YulIf","src":"7360:129:106"},{"nodeType":"YulVariableDeclaration","src":"7547:30:106","value":{"arguments":[{"name":"end","nodeType":"YulIdentifier","src":"7568:3:106"},{"name":"str","nodeType":"YulIdentifier","src":"7573:3:106"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7564:3:106"},"nodeType":"YulFunctionCall","src":"7564:13:106"},"variables":[{"name":"strLength","nodeType":"YulTypedName","src":"7551:9:106","type":""}]},{"nodeType":"YulAssignment","src":"7644:21:106","value":{"arguments":[{"name":"str","nodeType":"YulIdentifier","src":"7655:3:106"},{"kind":"number","nodeType":"YulLiteral","src":"7660:4:106","type":"","value":"0x20"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7651:3:106"},"nodeType":"YulFunctionCall","src":"7651:14:106"},"variableNames":[{"name":"str","nodeType":"YulIdentifier","src":"7644:3:106"}]},{"expression":{"arguments":[{"name":"str","nodeType":"YulIdentifier","src":"7685:3:106"},{"name":"strLength","nodeType":"YulIdentifier","src":"7690:9:106"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7678:6:106"},"nodeType":"YulFunctionCall","src":"7678:22:106"},"nodeType":"YulExpressionStatement","src":"7678:22:106"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":64072,"isOffset":false,"isSlot":false,"src":"6367:6:106","valueSize":1},{"declaration":64072,"isOffset":false,"isSlot":false,"src":"6795:6:106","valueSize":1},{"declaration":64072,"isOffset":false,"isSlot":false,"src":"6803:6:106","valueSize":1},{"declaration":64075,"isOffset":false,"isSlot":false,"src":"6328:3:106","valueSize":1},{"declaration":64075,"isOffset":false,"isSlot":false,"src":"6460:3:106","valueSize":1},{"declaration":64075,"isOffset":false,"isSlot":false,"src":"6541:3:106","valueSize":1},{"declaration":64075,"isOffset":false,"isSlot":false,"src":"6633:3:106","valueSize":1},{"declaration":64075,"isOffset":false,"isSlot":false,"src":"6786:3:106","valueSize":1},{"declaration":64075,"isOffset":false,"isSlot":false,"src":"7088:3:106","valueSize":1},{"declaration":64075,"isOffset":false,"isSlot":false,"src":"7099:3:106","valueSize":1},{"declaration":64075,"isOffset":false,"isSlot":false,"src":"7153:3:106","valueSize":1},{"declaration":64075,"isOffset":false,"isSlot":false,"src":"7208:3:106","valueSize":1},{"declaration":64075,"isOffset":false,"isSlot":false,"src":"7310:3:106","valueSize":1},{"declaration":64075,"isOffset":false,"isSlot":false,"src":"7573:3:106","valueSize":1},{"declaration":64075,"isOffset":false,"isSlot":false,"src":"7644:3:106","valueSize":1},{"declaration":64075,"isOffset":false,"isSlot":false,"src":"7655:3:106","valueSize":1},{"declaration":64075,"isOffset":false,"isSlot":false,"src":"7685:3:106","valueSize":1},{"declaration":64070,"isOffset":false,"isSlot":false,"src":"6872:5:106","valueSize":1}],"id":64077,"nodeType":"InlineAssembly","src":"6002:1708:106"}]},"documentation":{"id":64068,"nodeType":"StructuredDocumentation","src":"5475:339:106","text":"@dev Returns the hexadecimal representation of `value`,\n left-padded to an input length of `length` bytes.\n The output is prefixed with \"0x\" encoded using 2 hexadecimal digits per byte,\n giving a total length of `length * 2` bytes.\n Reverts if `length` is too small for the output to contain all the digits."},"implemented":true,"kind":"function","modifiers":[],"name":"toHexStringNoPrefix","nameLocation":"5828:19:106","parameters":{"id":64073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64070,"mutability":"mutable","name":"value","nameLocation":"5856:5:106","nodeType":"VariableDeclaration","scope":64079,"src":"5848:13:106","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64069,"name":"uint256","nodeType":"ElementaryTypeName","src":"5848:7:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64072,"mutability":"mutable","name":"length","nameLocation":"5871:6:106","nodeType":"VariableDeclaration","scope":64079,"src":"5863:14:106","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64071,"name":"uint256","nodeType":"ElementaryTypeName","src":"5863:7:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5847:31:106"},"returnParameters":{"id":64076,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64075,"mutability":"mutable","name":"str","nameLocation":"5940:3:106","nodeType":"VariableDeclaration","scope":64079,"src":"5926:17:106","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":64074,"name":"string","nodeType":"ElementaryTypeName","src":"5926:6:106","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5925:19:106"},"scope":64643,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":64095,"nodeType":"FunctionDefinition","src":"7990:436:106","nodes":[],"body":{"id":64094,"nodeType":"Block","src":"8068:358:106","nodes":[],"statements":[{"expression":{"id":64091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64087,"name":"str","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64085,"src":"8078:3:106","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":64089,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64082,"src":"8104:5:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64088,"name":"toHexStringNoPrefix","nodeType":"Identifier","overloadedDeclarations":[64079,64137,64179,64205],"referencedDeclaration":64137,"src":"8084:19:106","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":64090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8084:26:106","tryCall":false,"typeDescriptions":{"type