OZCreateWalletResult

public struct OZCreateWalletResult : Sendable, Hashable

Result of creating a new smart account wallet.

Carries the credential identifier, the derived contract address, the uncompressed secp256r1 public key, the signed deploy transaction envelope (always populated — the deploy transaction is built and signed regardless of autoSubmit), and the transaction hash when auto-submitted.

  • Base64URL-encoded WebAuthn credential identifier.

    Declaration

    Swift

    public let credentialId: String
  • Smart account contract address (C… strkey).

    Declaration

    Swift

    public let contractId: String
  • Uncompressed secp256r1 public key (65 bytes starting with 0x04).

    Declaration

    Swift

    public let publicKey: Data
  • Base64-encoded signed deploy transaction envelope. Always populated.

    Declaration

    Swift

    public let signedTransactionXdr: String
  • Transaction hash assigned at submission time. nil when autoSubmit was false.

    Declaration

    Swift

    public let transactionHash: String?
  • User display name supplied during wallet creation.

    Declaration

    Swift

    public let nickname: String?
  • Undocumented

    Declaration

    Swift

    public init(
        credentialId: String,
        contractId: String,
        publicKey: Data,
        signedTransactionXdr: String,
        transactionHash: String? = nil,
        nickname: String? = nil
    )
  • Equality compares every field. The publicKey field is compared in constant time so byte-level timing inference is not possible from equality side channels.

    Declaration

    Swift

    public static func == (lhs: OZCreateWalletResult, rhs: OZCreateWalletResult) -> Bool
  • Combines every field into the supplied hasher. The publicKey field is hashed by raw byte content so two results with byte-equal public keys produce the same hash value (matching the constant-time == contract).

    Declaration

    Swift

    public func hash(into hasher: inout Hasher)