docs: def metainfo_to_protobuf(self) -> bytes:
          '''encode card_transfer info to protobuf'''
  
          card = cardtransferproto()
          card.version = self.version
          card.amount.extend(self.amount)
          card.number_of_decimals = self.number_of_decimals
          if self.asset_specific_data:
              if not isinstance(self.asset_specific_data, bytes):
                  card.asset_specific_data = self.asset_specific_data.encode()
              else:
                  card.asset_specific_data = self.asset_specific_data
  
          if card.ByteSize() > net_query(self.network).op_return_max_bytes:
              raise OverSizeOPReturn('''
                          Metainfo size exceeds maximum of {max} bytes supported by this network.'''
                                     .format(max=net_query(self.network)
                                             .op_return_max_bytes))
  
          return card.SerializeToString()