code: func DialWebsocket(ctx context.Context, endpoint, origin string) (*Client, error) {
  	config, err := wsGetConfig(endpoint, origin)
  	if err != nil {
  		return nil, err
  	}
  
  	return newClient(ctx, func(ctx context.Context) (ServerCodec, error) {
  		conn, err := wsDialContext(ctx, config)
  		if err != nil {
  			return nil, err
  		}
  		return newWebsocketCodec(conn), nil
  	})
  }
docs: // DialWebsocket creates a new RPC client that communicates with a JSON-RPC server
  // that is listening on the given endpoint.
  //
  // The context is used for the initial connection establishment. It does not
  // affect subsequent interactions with the client.