@tokamak-network/thanos-contracts
Version:
1 lines • 119 kB
JSON
{"abi":[],"bytecode":{"object":"0x602d6037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300080f000a","sourceMap":"385:5289:231:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;385:5289:231;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300080f000a","sourceMap":"385:5289:231:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"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\":\"london\",\"libraries\":{\"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker\":\"0x4200000000000000000000000000000000000776\"},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":automate/=lib/automate/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":gelato/=lib/automate/contracts/\",\":hardhat/=lib/automate/node_modules/hardhat/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/\",\":prb-test/=lib/automate/lib/prb-test/src/\",\":prb/-est/=lib/automate/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"src/libraries/rlp/RLPWriter.sol\":{\"keccak256\":\"0x60ac401490f321c9c55e996a2c65151cd5e60de5f8f297e7c94d541c29820bb6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://070f5814db07e4a89173d44a36d90e4261ce530f7336034c01635347f2c2d88b\",\"dweb:/ipfs/QmXqr9yW5Kc8MYgr5wSehU5AiqS9pZ4FKxv7vwiwpZCcyV\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.15+commit.e14f2714"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","automate/=lib/automate/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","gelato/=lib/automate/contracts/","hardhat/=lib/automate/node_modules/hardhat/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/","prb-test/=lib/automate/lib/prb-test/src/","prb/-est/=lib/automate/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/libraries/rlp/RLPWriter.sol":"RLPWriter"},"evmVersion":"london","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":116062,"exportedSymbols":{"RLPWriter":[116061]},"nodeType":"SourceUnit","src":"32:5643:231","nodes":[{"id":115564,"nodeType":"PragmaDirective","src":"32:23:231","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":116061,"nodeType":"ContractDefinition","src":"385:5289:231","nodes":[{"id":115606,"nodeType":"FunctionDefinition","src":"552:265:231","nodes":[],"body":{"id":115605,"nodeType":"Block","src":"632:185:231","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":115585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":115573,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115568,"src":"646:3:231","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":115574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"646:10:231","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":115575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"660:1:231","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"646:15:231","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":115584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"baseExpression":{"id":115579,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115568,"src":"671:3:231","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":115581,"indexExpression":{"hexValue":"30","id":115580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"675:1:231","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:231","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":115578,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"665:5:231","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":115577,"name":"uint8","nodeType":"ElementaryTypeName","src":"665:5:231","typeDescriptions":{}}},"id":115582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"665:13:231","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"313238","id":115583,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"681:3:231","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"665:19:231","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"646:38:231","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":115603,"nodeType":"Block","src":"727:84:231","statements":[{"expression":{"id":115601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":115591,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115571,"src":"741:4:231","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"expression":{"id":115595,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115568,"src":"778:3:231","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":115596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"778:10:231","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"313238","id":115597,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"790:3:231","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":115594,"name":"_writeLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115844,"src":"765:12:231","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256,uint256) pure returns (bytes memory)"}},"id":115598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"765:29:231","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":115599,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115568,"src":"796:3:231","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":115592,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"748:3:231","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":115593,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"748:16:231","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":115600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"748:52:231","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"741:59:231","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":115602,"nodeType":"ExpressionStatement","src":"741:59:231"}]},"id":115604,"nodeType":"IfStatement","src":"642:169:231","trueBody":{"id":115590,"nodeType":"Block","src":"686:35:231","statements":[{"expression":{"id":115588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":115586,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115571,"src":"700:4:231","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":115587,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115568,"src":"707:3:231","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"700:10:231","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":115589,"nodeType":"ExpressionStatement","src":"700:10:231"}]}}]},"documentation":{"id":115566,"nodeType":"StructuredDocumentation","src":"409:138:231","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:231","parameters":{"id":115569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115568,"mutability":"mutable","name":"_in","nameLocation":"585:3:231","nodeType":"VariableDeclaration","scope":115606,"src":"572:16:231","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":115567,"name":"bytes","nodeType":"ElementaryTypeName","src":"572:5:231","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"571:18:231"},"returnParameters":{"id":115572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115571,"mutability":"mutable","name":"out_","nameLocation":"626:4:231","nodeType":"VariableDeclaration","scope":115606,"src":"613:17:231","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":115570,"name":"bytes","nodeType":"ElementaryTypeName","src":"613:5:231","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"612:19:231"},"scope":116061,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":115634,"nodeType":"FunctionDefinition","src":"1011:194:231","nodes":[],"body":{"id":115633,"nodeType":"Block","src":"1093:112:231","nodes":[],"statements":[{"expression":{"id":115619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":115615,"name":"list_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115613,"src":"1103:5:231","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":115617,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115610,"src":"1120:3:231","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":115616,"name":"_flatten","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":116060,"src":"1111:8:231","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":115618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1111:13:231","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"1103:21:231","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":115620,"nodeType":"ExpressionStatement","src":"1103:21:231"},{"expression":{"id":115631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":115621,"name":"list_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115613,"src":"1134:5:231","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"expression":{"id":115625,"name":"list_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115613,"src":"1172:5:231","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":115626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"1172:12:231","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"313932","id":115627,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1186:3:231","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":115624,"name":"_writeLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115844,"src":"1159:12:231","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256,uint256) pure returns (bytes memory)"}},"id":115628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1159:31:231","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":115629,"name":"list_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115613,"src":"1192:5:231","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":115622,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1142:3:231","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":115623,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"1142:16:231","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":115630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1142:56:231","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"1134:64:231","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":115632,"nodeType":"ExpressionStatement","src":"1134:64:231"}]},"documentation":{"id":115607,"nodeType":"StructuredDocumentation","src":"823:183:231","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:231","parameters":{"id":115611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115610,"mutability":"mutable","name":"_in","nameLocation":"1045:3:231","nodeType":"VariableDeclaration","scope":115634,"src":"1030:18:231","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":115608,"name":"bytes","nodeType":"ElementaryTypeName","src":"1030:5:231","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":115609,"nodeType":"ArrayTypeName","src":"1030:7:231","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"1029:20:231"},"returnParameters":{"id":115614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115613,"mutability":"mutable","name":"list_","nameLocation":"1086:5:231","nodeType":"VariableDeclaration","scope":115634,"src":"1073:18:231","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":115612,"name":"bytes","nodeType":"ElementaryTypeName","src":"1073:5:231","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1072:20:231"},"scope":116061,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":115652,"nodeType":"FunctionDefinition","src":"1344:128:231","nodes":[],"body":{"id":115651,"nodeType":"Block","src":"1426:46:231","nodes":[],"statements":[{"expression":{"id":115649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":115642,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115640,"src":"1436:4:231","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":115646,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115637,"src":"1460:3:231","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":115645,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1454:5:231","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":115644,"name":"bytes","nodeType":"ElementaryTypeName","src":"1454:5:231","typeDescriptions":{}}},"id":115647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1454:10:231","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":115643,"name":"writeBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115606,"src":"1443:10:231","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) pure returns (bytes memory)"}},"id":115648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1443:22:231","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"1436:29:231","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":115650,"nodeType":"ExpressionStatement","src":"1436:29:231"}]},"documentation":{"id":115635,"nodeType":"StructuredDocumentation","src":"1211:128:231","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:231","parameters":{"id":115638,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115637,"mutability":"mutable","name":"_in","nameLocation":"1379:3:231","nodeType":"VariableDeclaration","scope":115652,"src":"1365:17:231","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":115636,"name":"string","nodeType":"ElementaryTypeName","src":"1365:6:231","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1364:19:231"},"returnParameters":{"id":115641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115640,"mutability":"mutable","name":"out_","nameLocation":"1420:4:231","nodeType":"VariableDeclaration","scope":115652,"src":"1407:17:231","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":115639,"name":"bytes","nodeType":"ElementaryTypeName","src":"1407:5:231","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1406:19:231"},"scope":116061,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":115670,"nodeType":"FunctionDefinition","src":"1615:134:231","nodes":[],"body":{"id":115669,"nodeType":"Block","src":"1692:57:231","nodes":[],"statements":[{"expression":{"id":115667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":115660,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115658,"src":"1702:4:231","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":115664,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115655,"src":"1737:3:231","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":115662,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1720:3:231","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":115663,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"1720:16:231","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":115665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1720:21:231","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":115661,"name":"writeBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115606,"src":"1709:10:231","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) pure returns (bytes memory)"}},"id":115666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1709:33:231","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"1702:40:231","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":115668,"nodeType":"ExpressionStatement","src":"1702:40:231"}]},"documentation":{"id":115653,"nodeType":"StructuredDocumentation","src":"1478:132:231","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:231","parameters":{"id":115656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115655,"mutability":"mutable","name":"_in","nameLocation":"1645:3:231","nodeType":"VariableDeclaration","scope":115670,"src":"1637:11:231","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":115654,"name":"address","nodeType":"ElementaryTypeName","src":"1637:7:231","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1636:13:231"},"returnParameters":{"id":115659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115658,"mutability":"mutable","name":"out_","nameLocation":"1686:4:231","nodeType":"VariableDeclaration","scope":115670,"src":"1673:17:231","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":115657,"name":"bytes","nodeType":"ElementaryTypeName","src":"1673:5:231","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1672:19:231"},"scope":116061,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":115687,"nodeType":"FunctionDefinition","src":"1888:124:231","nodes":[],"body":{"id":115686,"nodeType":"Block","src":"1962:50:231","nodes":[],"statements":[{"expression":{"id":115684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":115678,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115676,"src":"1972:4:231","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":115681,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115673,"src":"2000:3:231","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":115680,"name":"_toBinary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115911,"src":"1990:9:231","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"}},"id":115682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1990:14:231","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":115679,"name":"writeBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115606,"src":"1979:10:231","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) pure returns (bytes memory)"}},"id":115683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1979:26:231","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"1972:33:231","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":115685,"nodeType":"ExpressionStatement","src":"1972:33:231"}]},"documentation":{"id":115671,"nodeType":"StructuredDocumentation","src":"1755:128:231","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:231","parameters":{"id":115674,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115673,"mutability":"mutable","name":"_in","nameLocation":"1915:3:231","nodeType":"VariableDeclaration","scope":115687,"src":"1907:11:231","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115672,"name":"uint256","nodeType":"ElementaryTypeName","src":"1907:7:231","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1906:13:231"},"returnParameters":{"id":115677,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115676,"mutability":"mutable","name":"out_","nameLocation":"1956:4:231","nodeType":"VariableDeclaration","scope":115687,"src":"1943:17:231","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":115675,"name":"bytes","nodeType":"ElementaryTypeName","src":"1943:5:231","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1942:19:231"},"scope":116061,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":115719,"nodeType":"FunctionDefinition","src":"2145:162:231","nodes":[],"body":{"id":115718,"nodeType":"Block","src":"2216:91:231","nodes":[],"statements":[{"expression":{"id":115700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":115695,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115693,"src":"2226:4:231","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":115698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2243:1:231","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":115697,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2233:9:231","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":115696,"name":"bytes","nodeType":"ElementaryTypeName","src":"2237:5:231","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":115699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2233:12:231","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"2226:19:231","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":115701,"nodeType":"ExpressionStatement","src":"2226:19:231"},{"expression":{"id":115716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":115702,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115693,"src":"2255:4:231","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":115704,"indexExpression":{"hexValue":"30","id":115703,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2260:1:231","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:231","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"components":[{"condition":{"id":115705,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115690,"src":"2266:3:231","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"hexValue":"30783830","id":115712,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2294:4:231","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":115711,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2287:6:231","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":115710,"name":"bytes1","nodeType":"ElementaryTypeName","src":"2287:6:231","typeDescriptions":{}}},"id":115713,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2287:12:231","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":115714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"2266:33:231","trueExpression":{"arguments":[{"hexValue":"30783031","id":115708,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2279:4:231","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":115707,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2272:6:231","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":115706,"name":"bytes1","nodeType":"ElementaryTypeName","src":"2272:6:231","typeDescriptions":{}}},"id":115709,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2272:12:231","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"id":115715,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2265:35:231","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"2255:45:231","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":115717,"nodeType":"ExpressionStatement","src":"2255:45:231"}]},"documentation":{"id":115688,"nodeType":"StructuredDocumentation","src":"2018:122:231","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:231","parameters":{"id":115691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115690,"mutability":"mutable","name":"_in","nameLocation":"2169:3:231","nodeType":"VariableDeclaration","scope":115719,"src":"2164:8:231","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":115689,"name":"bool","nodeType":"ElementaryTypeName","src":"2164:4:231","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2163:10:231"},"returnParameters":{"id":115694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115693,"mutability":"mutable","name":"out_","nameLocation":"2210:4:231","nodeType":"VariableDeclaration","scope":115719,"src":"2197:17:231","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":115692,"name":"bytes","nodeType":"ElementaryTypeName","src":"2197:5:231","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2196:19:231"},"scope":116061,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":115844,"nodeType":"FunctionDefinition","src":"2585:650:231","nodes":[],"body":{"id":115843,"nodeType":"Block","src":"2679:556:231","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115731,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":115729,"name":"_len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115722,"src":"2693:4:231","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"3536","id":115730,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2700:2:231","typeDescriptions":{"typeIdentifier":"t_rational_56_by_1","typeString":"int_const 56"},"value":"56"},"src":"2693:9:231","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":115841,"nodeType":"Block","src":"2814:415:231","statements":[{"assignments":[115758],"declarations":[{"constant":false,"id":115758,"mutability":"mutable","name":"lenLen","nameLocation":"2836:6:231","nodeType":"VariableDeclaration","scope":115841,"src":"2828:14:231","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115757,"name":"uint256","nodeType":"ElementaryTypeName","src":"2828:7:231","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":115759,"nodeType":"VariableDeclarationStatement","src":"2828:14:231"},{"assignments":[115761],"declarations":[{"constant":false,"id":115761,"mutability":"mutable","name":"i","nameLocation":"2864:1:231","nodeType":"VariableDeclaration","scope":115841,"src":"2856:9:231","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115760,"name":"uint256","nodeType":"ElementaryTypeName","src":"2856:7:231","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":115763,"initialValue":{"hexValue":"31","id":115762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2868:1:231","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"VariableDeclarationStatement","src":"2856:13:231"},{"body":{"id":115776,"nodeType":"Block","src":"2905:67:231","statements":[{"expression":{"id":115770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2923:8:231","subExpression":{"id":115769,"name":"lenLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115758,"src":"2923:6:231","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":115771,"nodeType":"ExpressionStatement","src":"2923:8:231"},{"expression":{"id":115774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":115772,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115761,"src":"2949:1:231","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"hexValue":"323536","id":115773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2954:3:231","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},"src":"2949:8:231","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":115775,"nodeType":"ExpressionStatement","src":"2949:8:231"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":115764,"name":"_len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115722,"src":"2890:4:231","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":115765,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115761,"src":"2897:1:231","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2890:8:231","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":115767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2902:1:231","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2890:13:231","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":115777,"nodeType":"WhileStatement","src":"2883:89:231"},{"expression":{"id":115785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":115778,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115727,"src":"2986:4:231","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":115781,"name":"lenLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115758,"src":"3003:6:231","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":115782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3012:1:231","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3003:10:231","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":115780,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2993:9:231","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":115779,"name":"bytes","nodeType":"ElementaryTypeName","src":"2997:5:231","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":115784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2993:21:231","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"2986:28:231","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":115786,"nodeType":"ExpressionStatement","src":"2986:28:231"},{"expression":{"id":115804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":115787,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115727,"src":"3028:4:231","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":115789,"indexExpression":{"hexValue":"30","id":115788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3033:1:231","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:231","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":115802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":115800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":115794,"name":"lenLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115758,"src":"3051:6:231","t