UNPKG

@tokamak-network/thanos-contracts

Version:
1 lines 120 kB
{"abi":[],"bytecode":{"object":"0x602c6032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c6343000819000a","sourceMap":"385:5289:32:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;385:5289:32;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c6343000819000a","sourceMap":"385:5289:32:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"RLPWriter is a library for encoding Solidity types to RLP bytes. Adapted from Bakaoh's RLPEncode library (https://github.com/bakaoh/solidity-rlp-encode) with minor modifications to improve legibility.\",\"custom:attribution\":\"https://github.com/bakaoh/solidity-rlp-encode\",\"kind\":\"dev\",\"methods\":{},\"title\":\"RLPWriter\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/libraries/rlp/RLPWriter.sol\":\"RLPWriter\"},\"evmVersion\":\"cancun\",\"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/RLPWriter.sol\":{\"keccak256\":\"0x60ac401490f321c9c55e996a2c65151cd5e60de5f8f297e7c94d541c29820bb6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://070f5814db07e4a89173d44a36d90e4261ce530f7336034c01635347f2c2d88b\",\"dweb:/ipfs/QmXqr9yW5Kc8MYgr5wSehU5AiqS9pZ4FKxv7vwiwpZCcyV\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"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/RLPWriter.sol":"RLPWriter"},"evmVersion":"cancun","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"src/libraries/rlp/RLPWriter.sol":{"keccak256":"0x60ac401490f321c9c55e996a2c65151cd5e60de5f8f297e7c94d541c29820bb6","urls":["bzz-raw://070f5814db07e4a89173d44a36d90e4261ce530f7336034c01635347f2c2d88b","dweb:/ipfs/QmXqr9yW5Kc8MYgr5wSehU5AiqS9pZ4FKxv7vwiwpZCcyV"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user"},"devdoc":{"version":1,"kind":"dev","author":"RLPWriter is a library for encoding Solidity types to RLP bytes. Adapted from Bakaoh's RLPEncode library (https://github.com/bakaoh/solidity-rlp-encode) with minor modifications to improve legibility.","title":"RLPWriter"},"ast":{"absolutePath":"src/libraries/rlp/RLPWriter.sol","id":49257,"exportedSymbols":{"RLPWriter":[49256]},"nodeType":"SourceUnit","src":"32:5643:32","nodes":[{"id":48759,"nodeType":"PragmaDirective","src":"32:23:32","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":49256,"nodeType":"ContractDefinition","src":"385:5289:32","nodes":[{"id":48801,"nodeType":"FunctionDefinition","src":"552:265:32","nodes":[],"body":{"id":48800,"nodeType":"Block","src":"632:185:32","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":48780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":48768,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48763,"src":"646:3:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":48769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"650:6:32","memberName":"length","nodeType":"MemberAccess","src":"646:10:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":48770,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"660:1:32","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"646:15:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":48779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"baseExpression":{"id":48774,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48763,"src":"671:3:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":48776,"indexExpression":{"hexValue":"30","id":48775,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"675:1:32","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"671:6:32","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":48773,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"665:5:32","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":48772,"name":"uint8","nodeType":"ElementaryTypeName","src":"665:5:32","typeDescriptions":{}}},"id":48777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"665:13:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"313238","id":48778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"681:3:32","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"665:19:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"646:38:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":48798,"nodeType":"Block","src":"727:84:32","statements":[{"expression":{"id":48796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48786,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48766,"src":"741:4:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"expression":{"id":48790,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48763,"src":"778:3:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":48791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"782:6:32","memberName":"length","nodeType":"MemberAccess","src":"778:10:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"313238","id":48792,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"790:3:32","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"}],"id":48789,"name":"_writeLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49039,"src":"765:12:32","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256,uint256) pure returns (bytes memory)"}},"id":48793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"765:29:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":48794,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48763,"src":"796:3:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":48787,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"748:3:32","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48788,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"752:12:32","memberName":"encodePacked","nodeType":"MemberAccess","src":"748:16:32","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":48795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"748:52:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"741:59:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":48797,"nodeType":"ExpressionStatement","src":"741:59:32"}]},"id":48799,"nodeType":"IfStatement","src":"642:169:32","trueBody":{"id":48785,"nodeType":"Block","src":"686:35:32","statements":[{"expression":{"id":48783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48781,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48766,"src":"700:4:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":48782,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48763,"src":"707:3:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"700:10:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":48784,"nodeType":"ExpressionStatement","src":"700:10:32"}]}}]},"documentation":{"id":48761,"nodeType":"StructuredDocumentation","src":"409:138:32","text":"@notice RLP encodes a byte string.\n @param _in The byte string to encode.\n @return out_ The RLP encoded string in bytes."},"implemented":true,"kind":"function","modifiers":[],"name":"writeBytes","nameLocation":"561:10:32","parameters":{"id":48764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48763,"mutability":"mutable","name":"_in","nameLocation":"585:3:32","nodeType":"VariableDeclaration","scope":48801,"src":"572:16:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":48762,"name":"bytes","nodeType":"ElementaryTypeName","src":"572:5:32","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"571:18:32"},"returnParameters":{"id":48767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48766,"mutability":"mutable","name":"out_","nameLocation":"626:4:32","nodeType":"VariableDeclaration","scope":48801,"src":"613:17:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":48765,"name":"bytes","nodeType":"ElementaryTypeName","src":"613:5:32","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"612:19:32"},"scope":49256,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48829,"nodeType":"FunctionDefinition","src":"1011:194:32","nodes":[],"body":{"id":48828,"nodeType":"Block","src":"1093:112:32","nodes":[],"statements":[{"expression":{"id":48814,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48810,"name":"list_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48808,"src":"1103:5:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":48812,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48805,"src":"1120:3:32","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}],"id":48811,"name":"_flatten","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49255,"src":"1111:8:32","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory[] memory) pure returns (bytes memory)"}},"id":48813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1111:13:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"1103:21:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":48815,"nodeType":"ExpressionStatement","src":"1103:21:32"},{"expression":{"id":48826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48816,"name":"list_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48808,"src":"1134:5:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"expression":{"id":48820,"name":"list_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48808,"src":"1172:5:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":48821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1178:6:32","memberName":"length","nodeType":"MemberAccess","src":"1172:12:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"313932","id":48822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1186:3:32","typeDescriptions":{"typeIdentifier":"t_rational_192_by_1","typeString":"int_const 192"},"value":"192"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_192_by_1","typeString":"int_const 192"}],"id":48819,"name":"_writeLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49039,"src":"1159:12:32","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256,uint256) pure returns (bytes memory)"}},"id":48823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1159:31:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":48824,"name":"list_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48808,"src":"1192:5:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":48817,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1142:3:32","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48818,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1146:12:32","memberName":"encodePacked","nodeType":"MemberAccess","src":"1142:16:32","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":48825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1142:56:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"1134:64:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":48827,"nodeType":"ExpressionStatement","src":"1134:64:32"}]},"documentation":{"id":48802,"nodeType":"StructuredDocumentation","src":"823:183:32","text":"@notice RLP encodes a list of RLP encoded byte byte strings.\n @param _in The list of RLP encoded byte strings.\n @return list_ The RLP encoded list of items in bytes."},"implemented":true,"kind":"function","modifiers":[],"name":"writeList","nameLocation":"1020:9:32","parameters":{"id":48806,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48805,"mutability":"mutable","name":"_in","nameLocation":"1045:3:32","nodeType":"VariableDeclaration","scope":48829,"src":"1030:18:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":48803,"name":"bytes","nodeType":"ElementaryTypeName","src":"1030:5:32","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":48804,"nodeType":"ArrayTypeName","src":"1030:7:32","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"1029:20:32"},"returnParameters":{"id":48809,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48808,"mutability":"mutable","name":"list_","nameLocation":"1086:5:32","nodeType":"VariableDeclaration","scope":48829,"src":"1073:18:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":48807,"name":"bytes","nodeType":"ElementaryTypeName","src":"1073:5:32","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1072:20:32"},"scope":49256,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48847,"nodeType":"FunctionDefinition","src":"1344:128:32","nodes":[],"body":{"id":48846,"nodeType":"Block","src":"1426:46:32","nodes":[],"statements":[{"expression":{"id":48844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48837,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48835,"src":"1436:4:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":48841,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48832,"src":"1460:3:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":48840,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1454:5:32","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":48839,"name":"bytes","nodeType":"ElementaryTypeName","src":"1454:5:32","typeDescriptions":{}}},"id":48842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1454:10:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48838,"name":"writeBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48801,"src":"1443:10:32","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) pure returns (bytes memory)"}},"id":48843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1443:22:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"1436:29:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":48845,"nodeType":"ExpressionStatement","src":"1436:29:32"}]},"documentation":{"id":48830,"nodeType":"StructuredDocumentation","src":"1211:128:32","text":"@notice RLP encodes a string.\n @param _in The string to encode.\n @return out_ The RLP encoded string in bytes."},"implemented":true,"kind":"function","modifiers":[],"name":"writeString","nameLocation":"1353:11:32","parameters":{"id":48833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48832,"mutability":"mutable","name":"_in","nameLocation":"1379:3:32","nodeType":"VariableDeclaration","scope":48847,"src":"1365:17:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48831,"name":"string","nodeType":"ElementaryTypeName","src":"1365:6:32","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1364:19:32"},"returnParameters":{"id":48836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48835,"mutability":"mutable","name":"out_","nameLocation":"1420:4:32","nodeType":"VariableDeclaration","scope":48847,"src":"1407:17:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":48834,"name":"bytes","nodeType":"ElementaryTypeName","src":"1407:5:32","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1406:19:32"},"scope":49256,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48865,"nodeType":"FunctionDefinition","src":"1615:134:32","nodes":[],"body":{"id":48864,"nodeType":"Block","src":"1692:57:32","nodes":[],"statements":[{"expression":{"id":48862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48855,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48853,"src":"1702:4:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":48859,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48850,"src":"1737:3:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":48857,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1720:3:32","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48858,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1724:12:32","memberName":"encodePacked","nodeType":"MemberAccess","src":"1720:16:32","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":48860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1720:21:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48856,"name":"writeBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48801,"src":"1709:10:32","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) pure returns (bytes memory)"}},"id":48861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1709:33:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"1702:40:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":48863,"nodeType":"ExpressionStatement","src":"1702:40:32"}]},"documentation":{"id":48848,"nodeType":"StructuredDocumentation","src":"1478:132:32","text":"@notice RLP encodes an address.\n @param _in The address to encode.\n @return out_ The RLP encoded address in bytes."},"implemented":true,"kind":"function","modifiers":[],"name":"writeAddress","nameLocation":"1624:12:32","parameters":{"id":48851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48850,"mutability":"mutable","name":"_in","nameLocation":"1645:3:32","nodeType":"VariableDeclaration","scope":48865,"src":"1637:11:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48849,"name":"address","nodeType":"ElementaryTypeName","src":"1637:7:32","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1636:13:32"},"returnParameters":{"id":48854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48853,"mutability":"mutable","name":"out_","nameLocation":"1686:4:32","nodeType":"VariableDeclaration","scope":48865,"src":"1673:17:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":48852,"name":"bytes","nodeType":"ElementaryTypeName","src":"1673:5:32","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1672:19:32"},"scope":49256,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48882,"nodeType":"FunctionDefinition","src":"1888:124:32","nodes":[],"body":{"id":48881,"nodeType":"Block","src":"1962:50:32","nodes":[],"statements":[{"expression":{"id":48879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48873,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48871,"src":"1972:4:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":48876,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48868,"src":"2000:3:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48875,"name":"_toBinary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49106,"src":"1990:9:32","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"}},"id":48877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1990:14:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48874,"name":"writeBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48801,"src":"1979:10:32","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) pure returns (bytes memory)"}},"id":48878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1979:26:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"1972:33:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":48880,"nodeType":"ExpressionStatement","src":"1972:33:32"}]},"documentation":{"id":48866,"nodeType":"StructuredDocumentation","src":"1755:128:32","text":"@notice RLP encodes a uint.\n @param _in The uint256 to encode.\n @return out_ The RLP encoded uint256 in bytes."},"implemented":true,"kind":"function","modifiers":[],"name":"writeUint","nameLocation":"1897:9:32","parameters":{"id":48869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48868,"mutability":"mutable","name":"_in","nameLocation":"1915:3:32","nodeType":"VariableDeclaration","scope":48882,"src":"1907:11:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48867,"name":"uint256","nodeType":"ElementaryTypeName","src":"1907:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1906:13:32"},"returnParameters":{"id":48872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48871,"mutability":"mutable","name":"out_","nameLocation":"1956:4:32","nodeType":"VariableDeclaration","scope":48882,"src":"1943:17:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":48870,"name":"bytes","nodeType":"ElementaryTypeName","src":"1943:5:32","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1942:19:32"},"scope":49256,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48914,"nodeType":"FunctionDefinition","src":"2145:162:32","nodes":[],"body":{"id":48913,"nodeType":"Block","src":"2216:91:32","nodes":[],"statements":[{"expression":{"id":48895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48890,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48888,"src":"2226:4:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":48893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2243:1:32","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":48892,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2233:9:32","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":48891,"name":"bytes","nodeType":"ElementaryTypeName","src":"2237:5:32","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":48894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2233:12:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"2226:19:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":48896,"nodeType":"ExpressionStatement","src":"2226:19:32"},{"expression":{"id":48911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":48897,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48888,"src":"2255:4:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":48899,"indexExpression":{"hexValue":"30","id":48898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2260:1:32","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2255:7:32","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"components":[{"condition":{"id":48900,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48885,"src":"2266:3:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"hexValue":"30783830","id":48907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2294:4:32","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"0x80"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"}],"id":48906,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2287:6:32","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":48905,"name":"bytes1","nodeType":"ElementaryTypeName","src":"2287:6:32","typeDescriptions":{}}},"id":48908,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2287:12:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":48909,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"2266:33:32","trueExpression":{"arguments":[{"hexValue":"30783031","id":48903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2279:4:32","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"0x01"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":48902,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2272:6:32","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":48901,"name":"bytes1","nodeType":"ElementaryTypeName","src":"2272:6:32","typeDescriptions":{}}},"id":48904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2272:12:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"id":48910,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2265:35:32","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"2255:45:32","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":48912,"nodeType":"ExpressionStatement","src":"2255:45:32"}]},"documentation":{"id":48883,"nodeType":"StructuredDocumentation","src":"2018:122:32","text":"@notice RLP encodes a bool.\n @param _in The bool to encode.\n @return out_ The RLP encoded bool in bytes."},"implemented":true,"kind":"function","modifiers":[],"name":"writeBool","nameLocation":"2154:9:32","parameters":{"id":48886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48885,"mutability":"mutable","name":"_in","nameLocation":"2169:3:32","nodeType":"VariableDeclaration","scope":48914,"src":"2164:8:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48884,"name":"bool","nodeType":"ElementaryTypeName","src":"2164:4:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2163:10:32"},"returnParameters":{"id":48889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48888,"mutability":"mutable","name":"out_","nameLocation":"2210:4:32","nodeType":"VariableDeclaration","scope":48914,"src":"2197:17:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":48887,"name":"bytes","nodeType":"ElementaryTypeName","src":"2197:5:32","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2196:19:32"},"scope":49256,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49039,"nodeType":"FunctionDefinition","src":"2585:650:32","nodes":[],"body":{"id":49038,"nodeType":"Block","src":"2679:556:32","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48926,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48924,"name":"_len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48917,"src":"2693:4:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"3536","id":48925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2700:2:32","typeDescriptions":{"typeIdentifier":"t_rational_56_by_1","typeString":"int_const 56"},"value":"56"},"src":"2693:9:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":49036,"nodeType":"Block","src":"2814:415:32","statements":[{"assignments":[48953],"declarations":[{"constant":false,"id":48953,"mutability":"mutable","name":"lenLen","nameLocation":"2836:6:32","nodeType":"VariableDeclaration","scope":49036,"src":"2828:14:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48952,"name":"uint256","nodeType":"ElementaryTypeName","src":"2828:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":48954,"nodeType":"VariableDeclarationStatement","src":"2828:14:32"},{"assignments":[48956],"declarations":[{"constant":false,"id":48956,"mutability":"mutable","name":"i","nameLocation":"2864:1:32","nodeType":"VariableDeclaration","scope":49036,"src":"2856:9:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48955,"name":"uint256","nodeType":"ElementaryTypeName","src":"2856:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":48958,"initialValue":{"hexValue":"31","id":48957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2868:1:32","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"VariableDeclarationStatement","src":"2856:13:32"},{"body":{"id":48971,"nodeType":"Block","src":"2905:67:32","statements":[{"expression":{"id":48965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2923:8:32","subExpression":{"id":48964,"name":"lenLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48953,"src":"2923:6:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":48966,"nodeType":"ExpressionStatement","src":"2923:8:32"},{"expression":{"id":48969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48967,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48956,"src":"2949:1:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"hexValue":"323536","id":48968,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2954:3:32","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},"src":"2949:8:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":48970,"nodeType":"ExpressionStatement","src":"2949:8:32"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48961,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48959,"name":"_len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48917,"src":"2890:4:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":48960,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48956,"src":"2897:1:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2890:8:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":48962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2902:1:32","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2890:13:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48972,"nodeType":"WhileStatement","src":"2883:89:32"},{"expression":{"id":48980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48973,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48922,"src":"2986:4:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48976,"name":"lenLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48953,"src":"3003:6:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":48977,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3012:1:32","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3003:10:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48975,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2993:9:32","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":48974,"name":"bytes","nodeType":"ElementaryTypeName","src":"2997:5:32","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":48979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2993:21:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"2986:28:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":48981,"nodeType":"ExpressionStatement","src":"2986:28:32"},{"expression":{"id":48999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":48982,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48922,"src":"3028:4:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":48984,"indexExpression":{"hexValue":"30","id":48983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3033:1:32","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3028:7:32","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":48997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":48995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":48989,"name":"lenLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48953,"src":"3051:6:32","typeDescriptions"