code: func UnmarshalPubkey(pub []byte) (*ecdsa.PublicKey, error) {
  	x, y := elliptic.Unmarshal(S256(), pub)
  	if x == nil {
  		return nil, errInvalidPubkey
  	}
  	return &ecdsa.PublicKey{Curve: S256(), X: x, Y: y}, nil
  }
docs: // UnmarshalPubkey converts bytes to a secp256k1 public key.