code: def standard_parsing_functions(Block, Tx):
      
      def stream_block(f, block):
          assert isinstance(block, Block)
          block.stream(f)
  
      def stream_blockheader(f, blockheader):
          assert isinstance(blockheader, Block)
          blockheader.stream_header(f)
  
      def stream_tx(f, tx):
          assert isinstance(tx, Tx)
          tx.stream(f)
  
      def parse_int_6(f):
          b = f.read(6) + b'\0\0'
          return struct.unpack(b, "<L")[0]
  
      def stream_int_6(f, v):
          f.write(struct.pack(v, "<L")[:6])
  
      more_parsing = [
          ("A", (PeerAddress.parse, lambda f, peer_addr: peer_addr.stream(f))),
          ("v", (InvItem.parse, lambda f, inv_item: inv_item.stream(f))),
          ("T", (Tx.parse, stream_tx)),
          ("B", (Block.parse, stream_block)),
          ("z", (Block.parse_as_header, stream_blockheader)),
          ("1", (lambda f: struct.unpack("B", f.read(1))[0], lambda f, v: f.write(struct.pack("B", v)))),
          ("6", (parse_int_6, stream_int_6)),
          ("O", (lambda f: True if f.read(1) else False,
                 lambda f, v: f.write(b'' if v is None else struct.pack("B", v)))),
      ]
      all_items = list(STREAMER_FUNCTIONS.items())
      all_items.extend(more_parsing)
      return all_items
docs: Return the standard parsing functions for a given Block and Tx class.
      The return value is expected to be used with the standard_streamer function.