Skip to main content

Secp256k1PublicKey

Secp256k1PublicKey

class Secp256k1PublicKey

A secp256k1 public key.

BCS

The BCS serialized form for this type is defined by the following ABNF:

secp256k1-public-key = 33OCTET

deriveAddress()

func deriveAddress() -> Address

Derive an Address from this Public Key

An Address can be derived from a Secp256k1PublicKey by hashing the bytes of the public key prefixed with the Secp256k1 SignatureScheme flag (0x01).

hash( 0x01 || 33-byte secp256k1 public key)

hash(into:)

func hash(into hasher: inout Hasher)

Hashes the essential components of this value by feeding them into the given hasher.

Implement this method to conform to the Hashable protocol. The components used for hashing must be the same as the components compared in your type's == operator implementation. Call hasher.combine(_:) with each of these components.

  • Important: In your implementation of hash(into:), don't call finalize() on the hasher instance provided, or replace it with a different instance. Doing so may become a compile-time error in the future.

  • Parameter hasher: The hasher to use when combining the components of this instance.

scheme()

func scheme() -> SignatureScheme

Returns the signature scheme for this public key.

toBytes()

func toBytes() -> Data

toFlaggedBytes()

func toFlaggedBytes() -> Data

Returns the bytes with signature scheme flag prepended.

fromBytes(bytes:)

static func fromBytes(bytes: Data) throws -> Secp256k1PublicKey

fromStr(s:)

static func fromStr(s: String) throws -> Secp256k1PublicKey

random()

static func random() -> Secp256k1PublicKey

!=(_:_:)

static func != (lhs: Self, rhs: Self) -> Bool

Returns a Boolean value indicating whether two values are not equal.

Inequality is the inverse of equality. For any values a and b, a != b implies that a == b is false.

This is the default implementation of the not-equal-to operator (!=) for any type that conforms to Equatable.

  • Parameters:
    • lhs: A value to compare.
    • rhs: Another value to compare.

==(_:_:)

static func == (self: Secp256k1PublicKey, other: Secp256k1PublicKey) -> Bool

Returns a Boolean value indicating whether two values are equal.

Equality is the inverse of inequality. For any values a and b, a == b implies that a != b is false.

  • Parameters:
    • lhs: A value to compare.
    • rhs: Another value to compare.