@tokamak-network/thanos-contracts
Version:
1 lines • 120 kB
JSON
{"abi":[],"bytecode":{"object":"0x602c6032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c634300081a000a","sourceMap":"385:5289:77:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;385:5289:77;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c634300081a000a","sourceMap":"385:5289:77:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"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.26+commit.8a97fa7a"},"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":58078,"exportedSymbols":{"RLPWriter":[58077]},"nodeType":"SourceUnit","src":"32:5643:77","nodes":[{"id":57580,"nodeType":"PragmaDirective","src":"32:23:77","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":58077,"nodeType":"ContractDefinition","src":"385:5289:77","nodes":[{"id":57622,"nodeType":"FunctionDefinition","src":"552:265:77","nodes":[],"body":{"id":57621,"nodeType":"Block","src":"632:185:77","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":57601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57592,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":57589,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57584,"src":"646:3:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":57590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"650:6:77","memberName":"length","nodeType":"MemberAccess","src":"646:10:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":57591,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"660:1:77","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"646:15:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":57600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"baseExpression":{"id":57595,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57584,"src":"671:3:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":57597,"indexExpression":{"hexValue":"30","id":57596,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"675:1:77","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:77","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":57594,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"665:5:77","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":57593,"name":"uint8","nodeType":"ElementaryTypeName","src":"665:5:77","typeDescriptions":{}}},"id":57598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"665:13:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"313238","id":57599,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"681:3:77","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"665:19:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"646:38:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":57619,"nodeType":"Block","src":"727:84:77","statements":[{"expression":{"id":57617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":57607,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57587,"src":"741:4:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"expression":{"id":57611,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57584,"src":"778:3:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":57612,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"782:6:77","memberName":"length","nodeType":"MemberAccess","src":"778:10:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"313238","id":57613,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"790:3:77","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":57610,"name":"_writeLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57860,"src":"765:12:77","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256,uint256) pure returns (bytes memory)"}},"id":57614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"765:29:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":57615,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57584,"src":"796:3:77","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":57608,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"748:3:77","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57609,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"752:12:77","memberName":"encodePacked","nodeType":"MemberAccess","src":"748:16:77","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":57616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"748:52:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"741:59:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":57618,"nodeType":"ExpressionStatement","src":"741:59:77"}]},"id":57620,"nodeType":"IfStatement","src":"642:169:77","trueBody":{"id":57606,"nodeType":"Block","src":"686:35:77","statements":[{"expression":{"id":57604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":57602,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57587,"src":"700:4:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":57603,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57584,"src":"707:3:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"700:10:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":57605,"nodeType":"ExpressionStatement","src":"700:10:77"}]}}]},"documentation":{"id":57582,"nodeType":"StructuredDocumentation","src":"409:138:77","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:77","parameters":{"id":57585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57584,"mutability":"mutable","name":"_in","nameLocation":"585:3:77","nodeType":"VariableDeclaration","scope":57622,"src":"572:16:77","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":57583,"name":"bytes","nodeType":"ElementaryTypeName","src":"572:5:77","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"571:18:77"},"returnParameters":{"id":57588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57587,"mutability":"mutable","name":"out_","nameLocation":"626:4:77","nodeType":"VariableDeclaration","scope":57622,"src":"613:17:77","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":57586,"name":"bytes","nodeType":"ElementaryTypeName","src":"613:5:77","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"612:19:77"},"scope":58077,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57650,"nodeType":"FunctionDefinition","src":"1011:194:77","nodes":[],"body":{"id":57649,"nodeType":"Block","src":"1093:112:77","nodes":[],"statements":[{"expression":{"id":57635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":57631,"name":"list_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57629,"src":"1103:5:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":57633,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57626,"src":"1120:3:77","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":57632,"name":"_flatten","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58076,"src":"1111:8:77","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":57634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1111:13:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"1103:21:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":57636,"nodeType":"ExpressionStatement","src":"1103:21:77"},{"expression":{"id":57647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":57637,"name":"list_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57629,"src":"1134:5:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"expression":{"id":57641,"name":"list_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57629,"src":"1172:5:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":57642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1178:6:77","memberName":"length","nodeType":"MemberAccess","src":"1172:12:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"313932","id":57643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1186:3:77","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":57640,"name":"_writeLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57860,"src":"1159:12:77","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256,uint256) pure returns (bytes memory)"}},"id":57644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1159:31:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":57645,"name":"list_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57629,"src":"1192:5:77","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":57638,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1142:3:77","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57639,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1146:12:77","memberName":"encodePacked","nodeType":"MemberAccess","src":"1142:16:77","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":57646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1142:56:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"1134:64:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":57648,"nodeType":"ExpressionStatement","src":"1134:64:77"}]},"documentation":{"id":57623,"nodeType":"StructuredDocumentation","src":"823:183:77","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:77","parameters":{"id":57627,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57626,"mutability":"mutable","name":"_in","nameLocation":"1045:3:77","nodeType":"VariableDeclaration","scope":57650,"src":"1030:18:77","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":57624,"name":"bytes","nodeType":"ElementaryTypeName","src":"1030:5:77","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":57625,"nodeType":"ArrayTypeName","src":"1030:7:77","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"1029:20:77"},"returnParameters":{"id":57630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57629,"mutability":"mutable","name":"list_","nameLocation":"1086:5:77","nodeType":"VariableDeclaration","scope":57650,"src":"1073:18:77","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":57628,"name":"bytes","nodeType":"ElementaryTypeName","src":"1073:5:77","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1072:20:77"},"scope":58077,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57668,"nodeType":"FunctionDefinition","src":"1344:128:77","nodes":[],"body":{"id":57667,"nodeType":"Block","src":"1426:46:77","nodes":[],"statements":[{"expression":{"id":57665,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":57658,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57656,"src":"1436:4:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":57662,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57653,"src":"1460:3:77","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":57661,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1454:5:77","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":57660,"name":"bytes","nodeType":"ElementaryTypeName","src":"1454:5:77","typeDescriptions":{}}},"id":57663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1454:10:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57659,"name":"writeBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57622,"src":"1443:10:77","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) pure returns (bytes memory)"}},"id":57664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1443:22:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"1436:29:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":57666,"nodeType":"ExpressionStatement","src":"1436:29:77"}]},"documentation":{"id":57651,"nodeType":"StructuredDocumentation","src":"1211:128:77","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:77","parameters":{"id":57654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57653,"mutability":"mutable","name":"_in","nameLocation":"1379:3:77","nodeType":"VariableDeclaration","scope":57668,"src":"1365:17:77","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57652,"name":"string","nodeType":"ElementaryTypeName","src":"1365:6:77","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1364:19:77"},"returnParameters":{"id":57657,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57656,"mutability":"mutable","name":"out_","nameLocation":"1420:4:77","nodeType":"VariableDeclaration","scope":57668,"src":"1407:17:77","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":57655,"name":"bytes","nodeType":"ElementaryTypeName","src":"1407:5:77","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1406:19:77"},"scope":58077,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57686,"nodeType":"FunctionDefinition","src":"1615:134:77","nodes":[],"body":{"id":57685,"nodeType":"Block","src":"1692:57:77","nodes":[],"statements":[{"expression":{"id":57683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":57676,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57674,"src":"1702:4:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":57680,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57671,"src":"1737:3:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57678,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1720:3:77","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57679,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1724:12:77","memberName":"encodePacked","nodeType":"MemberAccess","src":"1720:16:77","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":57681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1720:21:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57677,"name":"writeBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57622,"src":"1709:10:77","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) pure returns (bytes memory)"}},"id":57682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1709:33:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"1702:40:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":57684,"nodeType":"ExpressionStatement","src":"1702:40:77"}]},"documentation":{"id":57669,"nodeType":"StructuredDocumentation","src":"1478:132:77","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:77","parameters":{"id":57672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57671,"mutability":"mutable","name":"_in","nameLocation":"1645:3:77","nodeType":"VariableDeclaration","scope":57686,"src":"1637:11:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57670,"name":"address","nodeType":"ElementaryTypeName","src":"1637:7:77","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1636:13:77"},"returnParameters":{"id":57675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57674,"mutability":"mutable","name":"out_","nameLocation":"1686:4:77","nodeType":"VariableDeclaration","scope":57686,"src":"1673:17:77","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":57673,"name":"bytes","nodeType":"ElementaryTypeName","src":"1673:5:77","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1672:19:77"},"scope":58077,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57703,"nodeType":"FunctionDefinition","src":"1888:124:77","nodes":[],"body":{"id":57702,"nodeType":"Block","src":"1962:50:77","nodes":[],"statements":[{"expression":{"id":57700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":57694,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57692,"src":"1972:4:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":57697,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57689,"src":"2000:3:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":57696,"name":"_toBinary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57927,"src":"1990:9:77","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"}},"id":57698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1990:14:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57695,"name":"writeBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57622,"src":"1979:10:77","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) pure returns (bytes memory)"}},"id":57699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1979:26:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"1972:33:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":57701,"nodeType":"ExpressionStatement","src":"1972:33:77"}]},"documentation":{"id":57687,"nodeType":"StructuredDocumentation","src":"1755:128:77","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:77","parameters":{"id":57690,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57689,"mutability":"mutable","name":"_in","nameLocation":"1915:3:77","nodeType":"VariableDeclaration","scope":57703,"src":"1907:11:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57688,"name":"uint256","nodeType":"ElementaryTypeName","src":"1907:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1906:13:77"},"returnParameters":{"id":57693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57692,"mutability":"mutable","name":"out_","nameLocation":"1956:4:77","nodeType":"VariableDeclaration","scope":57703,"src":"1943:17:77","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":57691,"name":"bytes","nodeType":"ElementaryTypeName","src":"1943:5:77","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1942:19:77"},"scope":58077,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57735,"nodeType":"FunctionDefinition","src":"2145:162:77","nodes":[],"body":{"id":57734,"nodeType":"Block","src":"2216:91:77","nodes":[],"statements":[{"expression":{"id":57716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":57711,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57709,"src":"2226:4:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":57714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2243:1:77","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":57713,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2233:9:77","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":57712,"name":"bytes","nodeType":"ElementaryTypeName","src":"2237:5:77","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":57715,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2233:12:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"2226:19:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":57717,"nodeType":"ExpressionStatement","src":"2226:19:77"},{"expression":{"id":57732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":57718,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57709,"src":"2255:4:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":57720,"indexExpression":{"hexValue":"30","id":57719,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2260:1:77","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:77","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"components":[{"condition":{"id":57721,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57706,"src":"2266:3:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"hexValue":"30783830","id":57728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2294:4:77","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":57727,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2287:6:77","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":57726,"name":"bytes1","nodeType":"ElementaryTypeName","src":"2287:6:77","typeDescriptions":{}}},"id":57729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2287:12:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":57730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"2266:33:77","trueExpression":{"arguments":[{"hexValue":"30783031","id":57724,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2279:4:77","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":57723,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2272:6:77","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":57722,"name":"bytes1","nodeType":"ElementaryTypeName","src":"2272:6:77","typeDescriptions":{}}},"id":57725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2272:12:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"id":57731,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2265:35:77","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"2255:45:77","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":57733,"nodeType":"ExpressionStatement","src":"2255:45:77"}]},"documentation":{"id":57704,"nodeType":"StructuredDocumentation","src":"2018:122:77","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:77","parameters":{"id":57707,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57706,"mutability":"mutable","name":"_in","nameLocation":"2169:3:77","nodeType":"VariableDeclaration","scope":57735,"src":"2164:8:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57705,"name":"bool","nodeType":"ElementaryTypeName","src":"2164:4:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2163:10:77"},"returnParameters":{"id":57710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57709,"mutability":"mutable","name":"out_","nameLocation":"2210:4:77","nodeType":"VariableDeclaration","scope":57735,"src":"2197:17:77","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":57708,"name":"bytes","nodeType":"ElementaryTypeName","src":"2197:5:77","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2196:19:77"},"scope":58077,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57860,"nodeType":"FunctionDefinition","src":"2585:650:77","nodes":[],"body":{"id":57859,"nodeType":"Block","src":"2679:556:77","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57745,"name":"_len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57738,"src":"2693:4:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"3536","id":57746,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2700:2:77","typeDescriptions":{"typeIdentifier":"t_rational_56_by_1","typeString":"int_const 56"},"value":"56"},"src":"2693:9:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":57857,"nodeType":"Block","src":"2814:415:77","statements":[{"assignments":[57774],"declarations":[{"constant":false,"id":57774,"mutability":"mutable","name":"lenLen","nameLocation":"2836:6:77","nodeType":"VariableDeclaration","scope":57857,"src":"2828:14:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57773,"name":"uint256","nodeType":"ElementaryTypeName","src":"2828:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57775,"nodeType":"VariableDeclarationStatement","src":"2828:14:77"},{"assignments":[57777],"declarations":[{"constant":false,"id":57777,"mutability":"mutable","name":"i","nameLocation":"2864:1:77","nodeType":"VariableDeclaration","scope":57857,"src":"2856:9:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57776,"name":"uint256","nodeType":"ElementaryTypeName","src":"2856:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57779,"initialValue":{"hexValue":"31","id":57778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2868:1:77","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"VariableDeclarationStatement","src":"2856:13:77"},{"body":{"id":57792,"nodeType":"Block","src":"2905:67:77","statements":[{"expression":{"id":57786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2923:8:77","subExpression":{"id":57785,"name":"lenLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57774,"src":"2923:6:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":57787,"nodeType":"ExpressionStatement","src":"2923:8:77"},{"expression":{"id":57790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":57788,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57777,"src":"2949:1:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"hexValue":"323536","id":57789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2954:3:77","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},"src":"2949:8:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":57791,"nodeType":"ExpressionStatement","src":"2949:8:77"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57784,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57780,"name":"_len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57738,"src":"2890:4:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":57781,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57777,"src":"2897:1:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2890:8:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":57783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2902:1:77","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2890:13:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57793,"nodeType":"WhileStatement","src":"2883:89:77"},{"expression":{"id":57801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":57794,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57743,"src":"2986:4:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57797,"name":"lenLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57774,"src":"3003:6:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":57798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3012:1:77","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3003:10:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":57796,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2993:9:77","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":57795,"name":"bytes","nodeType":"ElementaryTypeName","src":"2997:5:77","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":57800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2993:21:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"2986:28:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":57802,"nodeType":"ExpressionStatement","src":"2986:28:77"},{"expression":{"id":57820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":57803,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57743,"src":"3028:4:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":57805,"indexExpression":{"hexValue":"30","id":57804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3033:1:77","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:77","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":57818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":57816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":57810,"name":"lenLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57774,"src":"3051:6:77","typeDescriptions"