code: func (ec *EthereumClient) SubscribeFilterLogs(ctx *Context, query *FilterQuery, handler FilterLogsHandler, buffer int) (sub *Subscription, _ error) {
  	// Subscribe to the event internally
  	ch := make(chan types.Log, buffer)
  	rawSub, err := ec.client.SubscribeFilterLogs(ctx.context, query.query, ch)
  	if err != nil {
  		return nil, err
  	}
  	// Start up a dispatcher to feed into the callback
  	go func() {
  		for {
  			select {
  			case log := <-ch:
  				handler.OnFilterLogs(&Log{&log})
  
  			case err := <-rawSub.Err():
  				if err != nil {
  					handler.OnError(err.Error())
  				}
  				return
  			}
  		}
  	}()
  	return &Subscription{rawSub}, nil
  }
docs: // SubscribeFilterLogs subscribes to the results of a streaming filter query.