def dump(self, stream, state, mevm, conc_tx=None):
from ..ethereum import ABI  <EOL>from ..ethereum.manticore import flagged<EOL>is_something_symbolic = False<EOL>if conc_tx is None:<EOL><INDENT>conc_tx = self.concretize(state)<EOL><DEDENT>stream.write("<STR_LIT>" % (self.sort, self.depth))<EOL>caller_solution = conc_tx.caller<EOL>caller_name = mevm.account_name(caller_solution)<EOL>stream.write("<STR_LIT>" % (caller_name, caller_solution, flagged(issymbolic(self.caller))))<EOL>address_solution = conc_tx.address<EOL>address_name = mevm.account_name(address_solution)<EOL>stream.write("<STR_LIT>" % (address_name, address_solution, flagged(issymbolic(self.address))))<EOL>stream.write("<STR_LIT>" % (conc_tx.value, flagged(issymbolic(self.value))))<EOL>stream.write("<STR_LIT>" % (conc_tx.gas, flagged(issymbolic(self.gas))))<EOL>tx_data = conc_tx.data<EOL>stream.write("<STR_LIT>".format(binascii.hexlify(tx_data).decode(), flagged(issymbolic(self.data))))<EOL>if self.return_data is not None:<EOL><INDENT>return_data = conc_tx.return_data<EOL>stream.write("<STR_LIT>".format(binascii.hexlify(return_data).decode(), flagged(issymbolic(self.return_data))))<EOL><DEDENT>metadata = mevm.get_metadata(self.address)<EOL>if self.sort == '<STR_LIT>':<EOL><INDENT>if metadata is not None:<EOL><INDENT>conc_args_data = conc_tx.data[len(metadata._init_bytecode):]<EOL>arguments = ABI.deserialize(metadata.get_constructor_arguments(), conc_args_data)<EOL>is_argument_symbolic = any(map(issymbolic, arguments))  <EOL>stream.write('<STR_LIT>')<EOL>stream.write("<STR_LIT>")<EOL>stream.write('<STR_LIT:U+002C>'.join(map(repr, map(state.solve_one, arguments))))  <EOL>stream.write('<STR_LIT>' % (self.result, flagged(is_argument_symbolic)))<EOL><DEDENT><DEDENT>if self.sort == '<STR_LIT>':<EOL><INDENT>if metadata is not None:<EOL><INDENT>calldata = conc_tx.data<EOL>is_calldata_symbolic = issymbolic(self.data)<EOL>function_id = calldata[:<NUM_LIT:4>]  <EOL>signature = metadata.get_func_signature(function_id)<EOL>function_name = metadata.get_func_name(function_id)<EOL>if signature:<EOL><INDENT>_, arguments = ABI.deserialize(signature, calldata)<EOL><DEDENT>else:<EOL><INDENT>arguments = (calldata,)<EOL><DEDENT>return_data = None<EOL>if self.result == '<STR_LIT>':<EOL><INDENT>ret_types = metadata.get_func_return_types(function_id)<EOL>return_data = conc_tx.return_data<EOL>return_values = ABI.deserialize(ret_types, return_data)  <EOL><DEDENT>is_return_symbolic = issymbolic(self.return_data)<EOL>stream.write('<STR_LIT:\n>')<EOL>stream.write("<STR_LIT>")<EOL>stream.write("<STR_LIT>" % function_name)<EOL>stream.write('<STR_LIT:U+002C>'.join(map(repr, arguments)))<EOL>stream.write('<STR_LIT>' % (self.result, flagged(is_calldata_symbolic)))<EOL>if return_data is not None:<EOL><INDENT>if len(return_values) == <NUM_LIT:1>:<EOL><INDENT>return_values = return_values[<NUM_LIT:0>]<EOL><DEDENT>stream.write('<STR_LIT>' % (return_values, flagged(is_return_symbolic)))<EOL><DEDENT>is_something_symbolic = is_calldata_symbolic or is_return_symbolic<EOL><DEDENT><DEDENT>stream.write('<STR_LIT>')<EOL>return is_something_symbolic<EOL>
Concretize and write a human readable version of the transaction into the stream. Used during testcase
generation.

:param stream: Output stream to write to. Typically a file.
:param manticore.ethereum.State state: state that the tx exists in
:param manticore.ethereum.ManticoreEVM mevm: manticore instance
:return: