code: func parseFilteredBlockDisconnectedParams(params []json.RawMessage) (int32,
  	*wire.BlockHeader, error) {
  	if len(params) < 2 {
  		return 0, nil, wrongNumParams(len(params))
  	}
  
  	// Unmarshal first parameter as an integer.
  	var blockHeight int32
  	err := json.Unmarshal(params[0], &blockHeight)
  	if err != nil {
  		return 0, nil, err
  	}
  
  	// Unmarshal second parmeter as a slice of bytes.
  	blockHeaderBytes, err := parseHexParam(params[1])
  	if err != nil {
  		return 0, nil, err
  	}
  
  	// Deserialize block header from slice of bytes.
  	var blockHeader wire.BlockHeader
  	err = blockHeader.Deserialize(bytes.NewReader(blockHeaderBytes))
  	if err != nil {
  		return 0, nil, err
  	}
  
  	return blockHeight, &blockHeader, nil
  }
docs: // parseFilteredBlockDisconnectedParams parses out the parameters included in a
  // filteredblockdisconnected notification.
  //
  // NOTE: This is a btcd extension ported from github.com/decred/dcrrpcclient
  // and requires a websocket connection.