Create a new SigningKey for *privateKey*.

The private key for this Signing Key.

The uncompressed public key for this Signing Key. It will always be 65 bytes (130 nibbles) and begins with `0x04`

.

The compressed public key for this Signing Key. It will always be 33 bytes (66 nibbles) and begins with either `0x02`

or `0x03`

.

Sign the *digest* and return the signature.

Compute the ECDH shared secret with *otherKey*. The *otherKey* may be either a public key or a private key, but generally will be a public key from another party.

It is best practice that each party computes the hash of this before using it as a symmetric key.

Returns true if *anObject* is a SigningKey.

Returns the address that signed *message* producing *signature*. The signature may have a non-canonical v (i.e. does not need to be 27 or 28), in which case it will be normalized to compute the `recoveryParam` which will then be used to compute the address; this allows systems which use the v to encode additional data (such as EIP-155) to be used since the v parameter is still completely non-ambiguous.

Returns the address that signed the EIP-712 *value* for the *domain* and *types* to produce the signature.

Returns the uncompressed public key (i.e. the first byte will be `0x04`

) of the private key that was used to sign *digest* which gave the *signature*.

Computes the public key of *key*, optionally compressing it. The *key* can be any form of public key (compressed or uncompressed) or a private key.