@tokamak-network/thanos-contracts
Version:
1 lines • 144 kB
JSON
{"abi":[],"bytecode":{"object":"0x602d6037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300080f000a","sourceMap":"418:8747:230:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;418:8747:230;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300080f000a","sourceMap":"418:8747:230:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"custom:attribution\":\"https://github.com/hamdiallam/Solidity-RLP\",\"kind\":\"dev\",\"methods\":{},\"title\":\"RLPReader\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"RLPReader is a library for parsing RLP-encoded byte arrays into Solidity types. Adapted from Solidity-RLP (https://github.com/hamdiallam/Solidity-RLP) by Hamdi Allam with various tweaks to improve readability.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/libraries/rlp/RLPReader.sol\":\"RLPReader\"},\"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\":{\"src/libraries/rlp/RLPErrors.sol\":{\"keccak256\":\"0x2b7fa174e6c62962f7c3ce1960298d325ed0e5ff4ee3fd426848e88b4500eb26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5528dd355691e6e2dffa3ecf11388f51e3bd29f27693c5dcd11be182559ba47\",\"dweb:/ipfs/QmTqZ5ZzBPwLYg3JNZttHZYaXv5zyzQfakSz4B8sYkAz42\"]},\"src/libraries/rlp/RLPReader.sol\":{\"keccak256\":\"0x27cbbc74d603b301e0e4bc4d33bbbeb88e369f1a91191a33d89ea52360e003db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba58dfd78089a51f06638fa6c0d2287c6254907ad89c4ad58b6fbb331d5d5a96\",\"dweb:/ipfs/QmUjC5Pm2MxPgYm9DfW1MasHj5jz7xXvej88778QuUoNgp\"]}},\"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":{"src/libraries/rlp/RLPReader.sol":"RLPReader"},"evmVersion":"london","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"src/libraries/rlp/RLPErrors.sol":{"keccak256":"0x2b7fa174e6c62962f7c3ce1960298d325ed0e5ff4ee3fd426848e88b4500eb26","urls":["bzz-raw://f5528dd355691e6e2dffa3ecf11388f51e3bd29f27693c5dcd11be182559ba47","dweb:/ipfs/QmTqZ5ZzBPwLYg3JNZttHZYaXv5zyzQfakSz4B8sYkAz42"],"license":"MIT"},"src/libraries/rlp/RLPReader.sol":{"keccak256":"0x27cbbc74d603b301e0e4bc4d33bbbeb88e369f1a91191a33d89ea52360e003db","urls":["bzz-raw://ba58dfd78089a51f06638fa6c0d2287c6254907ad89c4ad58b6fbb331d5d5a96","dweb:/ipfs/QmUjC5Pm2MxPgYm9DfW1MasHj5jz7xXvej88778QuUoNgp"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user","notice":"RLPReader is a library for parsing RLP-encoded byte arrays into Solidity types. Adapted from Solidity-RLP (https://github.com/hamdiallam/Solidity-RLP) by Hamdi Allam with various tweaks to improve readability."},"devdoc":{"version":1,"kind":"dev","title":"RLPReader"},"ast":{"absolutePath":"src/libraries/rlp/RLPReader.sol","id":115563,"exportedSymbols":{"ContentLengthMismatch":[115025],"EmptyItem":[115013],"InvalidDataRemainder":[115019],"InvalidHeader":[115028],"RLPReader":[115562],"UnexpectedList":[115022],"UnexpectedString":[115016]},"nodeType":"SourceUnit","src":"32:9134:230","nodes":[{"id":115030,"nodeType":"PragmaDirective","src":"32:23:230","nodes":[],"literals":["solidity","^","0.8",".8"]},{"id":115031,"nodeType":"ImportDirective","src":"57:25:230","nodes":[],"absolutePath":"src/libraries/rlp/RLPErrors.sol","file":"./RLPErrors.sol","nameLocation":"-1:-1:-1","scope":115563,"sourceUnit":115029,"symbolAliases":[],"unitAlias":""},{"id":115562,"nodeType":"ContractDefinition","src":"418:8747:230","nodes":[{"id":115034,"nodeType":"UserDefinedValueTypeDefinition","src":"528:30:230","nodes":[],"canonicalName":"RLPReader.MemoryPointer","name":"MemoryPointer","nameLocation":"533:13:230","underlyingType":{"id":115033,"name":"uint256","nodeType":"ElementaryTypeName","src":"550:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"id":115037,"nodeType":"EnumDefinition","src":"731:61:230","nodes":[],"canonicalName":"RLPReader.RLPItemType","members":[{"id":115035,"name":"DATA_ITEM","nameLocation":"758:9:230","nodeType":"EnumValue","src":"758:9:230"},{"id":115036,"name":"LIST_ITEM","nameLocation":"777:9:230","nodeType":"EnumValue","src":"777:9:230"}],"name":"RLPItemType","nameLocation":"736:11:230"},{"id":115043,"nodeType":"StructDefinition","src":"964:73:230","nodes":[],"canonicalName":"RLPReader.RLPItem","members":[{"constant":false,"id":115039,"mutability":"mutable","name":"length","nameLocation":"997:6:230","nodeType":"VariableDeclaration","scope":115043,"src":"989:14:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115038,"name":"uint256","nodeType":"ElementaryTypeName","src":"989:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":115042,"mutability":"mutable","name":"ptr","nameLocation":"1027:3:230","nodeType":"VariableDeclaration","scope":115043,"src":"1013:17:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"},"typeName":{"id":115041,"nodeType":"UserDefinedTypeName","pathNode":{"id":115040,"name":"MemoryPointer","nodeType":"IdentifierPath","referencedDeclaration":115034,"src":"1013:13:230"},"referencedDeclaration":115034,"src":"1013:13:230","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"}},"visibility":"internal"}],"name":"RLPItem","nameLocation":"971:7:230","scope":115562,"visibility":"public"},{"id":115047,"nodeType":"VariableDeclaration","src":"1106:46:230","nodes":[],"constant":true,"documentation":{"id":115044,"nodeType":"StructuredDocumentation","src":"1043:58:230","text":"@notice Max list length that this library will accept."},"mutability":"constant","name":"MAX_LIST_LENGTH","nameLocation":"1132:15:230","scope":115562,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115045,"name":"uint256","nodeType":"ElementaryTypeName","src":"1106:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3332","id":115046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1150:2:230","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"visibility":"internal"},{"id":115078,"nodeType":"FunctionDefinition","src":"1325:328:230","nodes":[],"body":{"id":115077,"nodeType":"Block","src":"1406:247:230","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115059,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":115056,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115050,"src":"1463:3:230","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":115057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"1463:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":115058,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1477:1:230","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1463:15:230","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":115063,"nodeType":"IfStatement","src":"1459:39:230","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":115060,"name":"EmptyItem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115013,"src":"1487:9:230","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":115061,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1487:11:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":115062,"nodeType":"RevertStatement","src":"1480:18:230"}},{"assignments":[115066],"declarations":[{"constant":false,"id":115066,"mutability":"mutable","name":"ptr","nameLocation":"1523:3:230","nodeType":"VariableDeclaration","scope":115077,"src":"1509:17:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"},"typeName":{"id":115065,"nodeType":"UserDefinedTypeName","pathNode":{"id":115064,"name":"MemoryPointer","nodeType":"IdentifierPath","referencedDeclaration":115034,"src":"1509:13:230"},"referencedDeclaration":115034,"src":"1509:13:230","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"}},"visibility":"internal"}],"id":115067,"nodeType":"VariableDeclarationStatement","src":"1509:17:230"},{"AST":{"nodeType":"YulBlock","src":"1545:43:230","statements":[{"nodeType":"YulAssignment","src":"1559:19:230","value":{"arguments":[{"name":"_in","nodeType":"YulIdentifier","src":"1570:3:230"},{"kind":"number","nodeType":"YulLiteral","src":"1575:2:230","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1566:3:230"},"nodeType":"YulFunctionCall","src":"1566:12:230"},"variableNames":[{"name":"ptr","nodeType":"YulIdentifier","src":"1559:3:230"}]}]},"evmVersion":"london","externalReferences":[{"declaration":115050,"isOffset":false,"isSlot":false,"src":"1570:3:230","valueSize":1},{"declaration":115066,"isOffset":false,"isSlot":false,"src":"1559:3:230","valueSize":1}],"id":115068,"nodeType":"InlineAssembly","src":"1536:52:230"},{"expression":{"id":115075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":115069,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115054,"src":"1598:4:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":115071,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115050,"src":"1623:3:230","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":115072,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"1623:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":115073,"name":"ptr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115066,"src":"1640:3:230","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"}],"id":115070,"name":"RLPItem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115043,"src":"1605:7:230","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RLPItem_$115043_storage_ptr_$","typeString":"type(struct RLPReader.RLPItem storage pointer)"}},"id":115074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["length","ptr"],"nodeType":"FunctionCall","src":"1605:41:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}},"src":"1598:48:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}},"id":115076,"nodeType":"ExpressionStatement","src":"1598:48:230"}]},"documentation":{"id":115048,"nodeType":"StructuredDocumentation","src":"1159:161:230","text":"@notice Converts bytes to a reference to memory position and length.\n @param _in Input bytes to convert.\n @return out_ Output memory reference."},"implemented":true,"kind":"function","modifiers":[],"name":"toRLPItem","nameLocation":"1334:9:230","parameters":{"id":115051,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115050,"mutability":"mutable","name":"_in","nameLocation":"1357:3:230","nodeType":"VariableDeclaration","scope":115078,"src":"1344:16:230","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":115049,"name":"bytes","nodeType":"ElementaryTypeName","src":"1344:5:230","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1343:18:230"},"returnParameters":{"id":115055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115054,"mutability":"mutable","name":"out_","nameLocation":"1400:4:230","nodeType":"VariableDeclaration","scope":115078,"src":"1385:19:230","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem"},"typeName":{"id":115053,"nodeType":"UserDefinedTypeName","pathNode":{"id":115052,"name":"RLPItem","nodeType":"IdentifierPath","referencedDeclaration":115043,"src":"1385:7:230"},"referencedDeclaration":115043,"src":"1385:7:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_storage_ptr","typeString":"struct RLPReader.RLPItem"}},"visibility":"internal"}],"src":"1384:21:230"},"scope":115562,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":115196,"nodeType":"FunctionDefinition","src":"1805:1674:230","nodes":[],"body":{"id":115195,"nodeType":"Block","src":"1889:1590:230","nodes":[],"statements":[{"assignments":[115090,115092,115095],"declarations":[{"constant":false,"id":115090,"mutability":"mutable","name":"listOffset","nameLocation":"1908:10:230","nodeType":"VariableDeclaration","scope":115195,"src":"1900:18:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115089,"name":"uint256","nodeType":"ElementaryTypeName","src":"1900:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":115092,"mutability":"mutable","name":"listLength","nameLocation":"1928:10:230","nodeType":"VariableDeclaration","scope":115195,"src":"1920:18:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115091,"name":"uint256","nodeType":"ElementaryTypeName","src":"1920:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":115095,"mutability":"mutable","name":"itemType","nameLocation":"1952:8:230","nodeType":"VariableDeclaration","scope":115195,"src":"1940:20:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RLPItemType_$115037","typeString":"enum RLPReader.RLPItemType"},"typeName":{"id":115094,"nodeType":"UserDefinedTypeName","pathNode":{"id":115093,"name":"RLPItemType","nodeType":"IdentifierPath","referencedDeclaration":115037,"src":"1940:11:230"},"referencedDeclaration":115037,"src":"1940:11:230","typeDescriptions":{"typeIdentifier":"t_enum$_RLPItemType_$115037","typeString":"enum RLPReader.RLPItemType"}},"visibility":"internal"}],"id":115099,"initialValue":{"arguments":[{"id":115097,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115082,"src":"1978:3:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}],"id":115096,"name":"_decodeLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115523,"src":"1964:13:230","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RLPItem_$115043_memory_ptr_$returns$_t_uint256_$_t_uint256_$_t_enum$_RLPItemType_$115037_$","typeString":"function (struct RLPReader.RLPItem memory) pure returns (uint256,uint256,enum RLPReader.RLPItemType)"}},"id":115098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1964:18:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_enum$_RLPItemType_$115037_$","typeString":"tuple(uint256,uint256,enum RLPReader.RLPItemType)"}},"nodeType":"VariableDeclarationStatement","src":"1899:83:230"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_RLPItemType_$115037","typeString":"enum RLPReader.RLPItemType"},"id":115103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":115100,"name":"itemType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115095,"src":"1997:8:230","typeDescriptions":{"typeIdentifier":"t_enum$_RLPItemType_$115037","typeString":"enum RLPReader.RLPItemType"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":115101,"name":"RLPItemType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115037,"src":"2009:11:230","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RLPItemType_$115037_$","typeString":"type(enum RLPReader.RLPItemType)"}},"id":115102,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"LIST_ITEM","nodeType":"MemberAccess","referencedDeclaration":115036,"src":"2009:21:230","typeDescriptions":{"typeIdentifier":"t_enum$_RLPItemType_$115037","typeString":"enum RLPReader.RLPItemType"}},"src":"1997:33:230","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":115107,"nodeType":"IfStatement","src":"1993:64:230","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":115104,"name":"UnexpectedString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115016,"src":"2039:16:230","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":115105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2039:18:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":115106,"nodeType":"RevertStatement","src":"2032:25:230"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":115108,"name":"listOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115090,"src":"2072:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":115109,"name":"listLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115092,"src":"2085:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2072:23:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":115111,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115082,"src":"2099:3:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}},"id":115112,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","referencedDeclaration":115039,"src":"2099:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2072:37:230","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":115117,"nodeType":"IfStatement","src":"2068:72:230","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":115114,"name":"InvalidDataRemainder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115019,"src":"2118:20:230","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":115115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2118:22:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":115116,"nodeType":"RevertStatement","src":"2111:29:230"}},{"expression":{"id":115125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":115118,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115087,"src":"2543:4:230","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RLPItem_$115043_memory_ptr_$dyn_memory_ptr","typeString":"struct RLPReader.RLPItem memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":115123,"name":"MAX_LIST_LENGTH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115047,"src":"2564:15:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":115122,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2550:13:230","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_RLPItem_$115043_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct RLPReader.RLPItem memory[] memory)"},"typeName":{"baseType":{"id":115120,"nodeType":"UserDefinedTypeName","pathNode":{"id":115119,"name":"RLPItem","nodeType":"IdentifierPath","referencedDeclaration":115043,"src":"2554:7:230"},"referencedDeclaration":115043,"src":"2554:7:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_storage_ptr","typeString":"struct RLPReader.RLPItem"}},"id":115121,"nodeType":"ArrayTypeName","src":"2554:9:230","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RLPItem_$115043_storage_$dyn_storage_ptr","typeString":"struct RLPReader.RLPItem[]"}}},"id":115124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2550:30:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RLPItem_$115043_memory_ptr_$dyn_memory_ptr","typeString":"struct RLPReader.RLPItem memory[] memory"}},"src":"2543:37:230","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RLPItem_$115043_memory_ptr_$dyn_memory_ptr","typeString":"struct RLPReader.RLPItem memory[] memory"}},"id":115126,"nodeType":"ExpressionStatement","src":"2543:37:230"},{"assignments":[115128],"declarations":[{"constant":false,"id":115128,"mutability":"mutable","name":"itemCount","nameLocation":"2599:9:230","nodeType":"VariableDeclaration","scope":115195,"src":"2591:17:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115127,"name":"uint256","nodeType":"ElementaryTypeName","src":"2591:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":115130,"initialValue":{"hexValue":"30","id":115129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2611:1:230","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"2591:21:230"},{"assignments":[115132],"declarations":[{"constant":false,"id":115132,"mutability":"mutable","name":"offset","nameLocation":"2630:6:230","nodeType":"VariableDeclaration","scope":115195,"src":"2622:14:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115131,"name":"uint256","nodeType":"ElementaryTypeName","src":"2622:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":115134,"initialValue":{"id":115133,"name":"listOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115090,"src":"2639:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2622:27:230"},{"body":{"id":115192,"nodeType":"Block","src":"2687:653:230","statements":[{"assignments":[115140,115142,null],"declarations":[{"constant":false,"id":115140,"mutability":"mutable","name":"itemOffset","nameLocation":"2710:10:230","nodeType":"VariableDeclaration","scope":115192,"src":"2702:18:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115139,"name":"uint256","nodeType":"ElementaryTypeName","src":"2702:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":115142,"mutability":"mutable","name":"itemLength","nameLocation":"2730:10:230","nodeType":"VariableDeclaration","scope":115192,"src":"2722:18:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115141,"name":"uint256","nodeType":"ElementaryTypeName","src":"2722:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null],"id":115161,"initialValue":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":115145,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115082,"src":"2794:3:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}},"id":115146,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","referencedDeclaration":115039,"src":"2794:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":115147,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115132,"src":"2807:6:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2794:19:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115157,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":115153,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115082,"src":"2860:3:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}},"id":115154,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"ptr","nodeType":"MemberAccess","referencedDeclaration":115042,"src":"2860:7:230","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"}],"expression":{"id":115151,"name":"MemoryPointer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115034,"src":"2839:13:230","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_MemoryPointer_$115034_$","typeString":"type(RLPReader.MemoryPointer)"}},"id":115152,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"unwrap","nodeType":"MemberAccess","src":"2839:20:230","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_MemoryPointer_$115034_$returns$_t_uint256_$","typeString":"function (RLPReader.MemoryPointer) pure returns (uint256)"}},"id":115155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2839:29:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":115156,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115132,"src":"2871:6:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2839:38:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":115149,"name":"MemoryPointer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115034,"src":"2820:13:230","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_MemoryPointer_$115034_$","typeString":"type(RLPReader.MemoryPointer)"}},"id":115150,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"wrap","nodeType":"MemberAccess","src":"2820:18:230","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_MemoryPointer_$115034_$","typeString":"function (uint256) pure returns (RLPReader.MemoryPointer)"}},"id":115158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2820:58:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"}],"id":115144,"name":"RLPItem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115043,"src":"2776:7:230","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RLPItem_$115043_storage_ptr_$","typeString":"type(struct RLPReader.RLPItem storage pointer)"}},"id":115159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["length","ptr"],"nodeType":"FunctionCall","src":"2776:105:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}],"id":115143,"name":"_decodeLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115523,"src":"2745:13:230","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RLPItem_$115043_memory_ptr_$returns$_t_uint256_$_t_uint256_$_t_enum$_RLPItemType_$115037_$","typeString":"function (struct RLPReader.RLPItem memory) pure returns (uint256,uint256,enum RLPReader.RLPItemType)"}},"id":115160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2745:150:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_enum$_RLPItemType_$115037_$","typeString":"tuple(uint256,uint256,enum RLPReader.RLPItemType)"}},"nodeType":"VariableDeclarationStatement","src":"2701:194:230"},{"expression":{"id":115180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":115162,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115087,"src":"3082:4:230","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RLPItem_$115043_memory_ptr_$dyn_memory_ptr","typeString":"struct RLPReader.RLPItem memory[] memory"}},"id":115164,"indexExpression":{"id":115163,"name":"itemCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115128,"src":"3087:9:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3082:15:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":115166,"name":"itemLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115142,"src":"3134:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":115167,"name":"itemOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115140,"src":"3147:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3134:23:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":115173,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115082,"src":"3220:3:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}},"id":115174,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"ptr","nodeType":"MemberAccess","referencedDeclaration":115042,"src":"3220:7:230","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"}],"expression":{"id":115171,"name":"MemoryPointer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115034,"src":"3199:13:230","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_MemoryPointer_$115034_$","typeString":"type(RLPReader.MemoryPointer)"}},"id":115172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"unwrap","nodeType":"MemberAccess","src":"3199:20:230","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_MemoryPointer_$115034_$returns$_t_uint256_$","typeString":"function (RLPReader.MemoryPointer) pure returns (uint256)"}},"id":115175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3199:29:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":115176,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115132,"src":"3231:6:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3199:38:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":115169,"name":"MemoryPointer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115034,"src":"3180:13:230","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_MemoryPointer_$115034_$","typeString":"type(RLPReader.MemoryPointer)"}},"id":115170,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"wrap","nodeType":"MemberAccess","src":"3180:18:230","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_MemoryPointer_$115034_$","typeString":"function (uint256) pure returns (RLPReader.MemoryPointer)"}},"id":115178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3180:58:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"}],"id":115165,"name":"RLPItem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115043,"src":"3100:7:230","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RLPItem_$115043_storage_ptr_$","typeString":"type(struct RLPReader.RLPItem storage pointer)"}},"id":115179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["length","ptr"],"nodeType":"FunctionCall","src":"3100:153:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}},"src":"3082:171:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}},"id":115181,"nodeType":"ExpressionStatement","src":"3082:171:230"},{"expression":{"id":115184,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":115182,"name":"itemCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115128,"src":"3268:9:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":115183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3281:1:230","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3268:14:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":115185,"nodeType":"ExpressionStatement","src":"3268:14:230"},{"expression":{"id":115190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":115186,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115132,"src":"3296:6:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":115187,"name":"itemOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115140,"src":"3306:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":115188,"name":"itemLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115142,"src":"3319:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3306:23:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3296:33:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":115191,"nodeType":"ExpressionStatement","src":"3296:33:230"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":115135,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115132,"src":"2666:6:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":115136,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115082,"src":"2675:3:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}},"id":115137,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","referencedDeclaration":115039,"src":"2675:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2666:19:230","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":115193,"nodeType":"WhileStatement","src":"2659:681:230"},{"AST":{"nodeType":"YulBlock","src":"3426:47:230","statements":[{"expression":{"arguments":[{"name":"out_","nodeType":"YulIdentifier","src":"3447:4:230"},{"name":"itemCount","nodeType":"YulIdentifier","src":"3453:9:230"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3440:6:230"},"nodeType":"YulFunctionCall","src":"3440:23:230"},"nodeType":"YulExpressionStatement","src":"3440:23:230"}]},"evmVersion":"london","externalReferences":[{"declaration":115128,"isOffset":false,"isSlot":false,"src":"3453:9:230","valueSize":1},{"declaration":115087,"isOffset":false,"isSlot":false,"src":"3447:4:230","valueSize":1}],"id":115194,"nodeType":"InlineAssembly","src":"3417:56:230"}]},"documentation":{"id":115079,"nodeType":"StructuredDocumentation","src":"1659:141:230","text":"@notice Reads an RLP list value into a list of RLP items.\n @param _in RLP list value.\n @return out_ Decoded RLP list items."},"implemented":true,"kind":"function","modifiers":[],"name":"readList","nameLocation":"1814:8:230","parameters":{"id":115083,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115082,"mutability":"mutable","name":"_in","nameLocation":"1838:3:230","nodeType":"VariableDeclaration","scope":115196,"src":"1823:18:230","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem"},"typeName":{"id":115081,"nodeType":"UserDefinedTypeName","pathNode":{"id":115080,"name":"RLPItem","nodeType":"IdentifierPath","referencedDeclaration":115043,"src":"1823:7:230"},"referencedDeclaration":115043,"src":"1823:7:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_storage_ptr","typeString":"struct RLPReader.RLPItem"}},"visibility":"internal"}],"src":"1822:20:230"},"returnParameters":{"id":115088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115087,"mutability":"mutable","name":"out_","nameLocation":"1883:4:230","nodeType":"VariableDeclaration","scope":115196,"src":"1866:21:230","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RLPItem_$115043_memory_ptr_$dyn_memory_ptr","typeString":"struct RLPReader.RLPItem[]"},"typeName":{"baseType":{"id":115085,"nodeType":"UserDefinedTypeName","pathNode":{"id":115084,"name":"RLPItem","nodeType":"IdentifierPath","referencedDeclaration":115043,"src":"1866:7:230"},"referencedDeclaration":115043,"src":"1866:7:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_storage_ptr","typeString":"struct RLPReader.RLPItem"}},"id":115086,"nodeType":"ArrayTypeName","src":"1866:9:230","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RLPItem_$115043_storage_$dyn_storage_ptr","typeString":"struct RLPReader.RLPItem[]"}},"visibility":"internal"}],"src":"1865:23:230"},"scope":115562,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":115215,"nodeType":"FunctionDefinition","src":"3631:130:230","nodes":[],"body":{"id":115214,"nodeType":"Block","src":"3713:48:230","nodes":[],"statements":[{"expression":{"id":115212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":115206,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115204,"src":"3723:4:230","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RLPItem_$115043_memory_ptr_$dyn_memory_ptr","typeString":"struct RLPReader.RLPItem memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":115209,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115199,"src":"3749:3:230","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":115208,"name":"toRLPItem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115078,"src":"3739:9:230","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_struct$_RLPItem_$115043_memory_ptr_$","typeString":"function (bytes memory) pure returns (struct RLPReader.RLPItem memory)"}},"id":115210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3739:14:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}],"id":115207,"name":