code: func (ec *EthereumClient) GetHeaderByNumber(ctx *Context, number int64) (header *Header, _ error) {
  	if number < 0 {
  		rawHeader, err := ec.client.HeaderByNumber(ctx.context, nil)
  		return &Header{rawHeader}, err
  	}
  	rawHeader, err := ec.client.HeaderByNumber(ctx.context, big.NewInt(number))
  	return &Header{rawHeader}, err
  }
docs: // GetHeaderByNumber returns a block header from the current canonical chain. If number is <0,
  // the latest known header is returned.