WalletSdkBridge

iOS-facing bridge around MobileWallet operations.

The bridge keeps errors and results explicit for Swift callers while preserving the small cross-platform wallet API shape.

Constructors

Link copied to clipboard
constructor(wallet: MobileWallet)

Creates a bridge backed by the supplied MobileWallet.

Properties

Link copied to clipboard
val events: Flow<MobileWalletEvent>

Buffered stream of recent issuance and presentation events emitted by the bridged wallet.

Functions

Link copied to clipboard

Attaches runtime key attestation support to this wallet instance.

Link copied to clipboard

Attaches issuer-specific runtime key attestation support to this wallet instance.

Link copied to clipboard
suspend fun backupSigningIdentity(option: SigningIdentityBackupOption): WalletBridgeResult<SigningIdentityOperationResult>

Submits a selected identity backup.

Link copied to clipboard
suspend fun beginAuthorizationIssuance(sessionId: String, credentials: List<MobileWalletCredentialSelection>? = null): WalletBridgeResult<WalletIssuanceAuthorization>

Starts the authorization-code browser request for an accepted issuance session.

Link copied to clipboard
suspend fun cancelIssuance(sessionId: String): WalletBridgeResult<WalletIssuanceOutcome>

Cancels one active issuance session and discards its continuation material.

Link copied to clipboard

Cancels pending local setup without deleting an already submitted provider record.

Link copied to clipboard
suspend fun continueAuthorizationIssuance(sessionId: String, callbackUri: String): WalletBridgeResult<WalletIssuanceOutcome>

Continues one authorization-code issuance session after its browser callback.

Link copied to clipboard
suspend fun continuePreAuthorizedIssuance(sessionId: String, transactionCode: String? = null, credentials: List<MobileWalletCredentialSelection>? = null): WalletBridgeResult<WalletIssuanceOutcome>

Continues one reviewed pre-authorized issuance session.

Link copied to clipboard
suspend fun copySigningIdentityToCustody(option: SigningIdentityCustodyOption): WalletBridgeResult<SigningIdentityCustodyResult>

Imports a copy into an explicit custodian without claiming portable recovery.

Link copied to clipboard
suspend fun createIssuanceHolderKeys(count: Int, keyType: MobileWalletKeyType? = null, didMethod: String = "key", keyUseAuthorizationPolicy: WalletBridgeKeyUseAuthorizationPolicy? = null): WalletBridgeResult<List<MobileWalletHolderBinding>>

Explicitly creates platform holder keys for a batch. Never called implicitly by issuance.

Link copied to clipboard
suspend fun createSigningIdentity(option: SigningIdentityCreationOption): WalletBridgeResult<SigningIdentityOperationResult>

Creates the identity described by an SDK-issued option.

Link copied to clipboard
suspend fun credentials(): WalletBridgeResult<List<MobileWalletCredential>>

Lists credential summaries stored in the bridged wallet.

Link copied to clipboard
suspend fun deleteCredential(credentialId: String): WalletBridgeResult<Boolean>

Removes one stored credential by wallet-local identifier.

Link copied to clipboard
suspend fun deleteSigningIdentityRecovery(candidate: SigningIdentityRecoveryCandidate): WalletBridgeResult<RecoveryReceipt>

Requests deletion without claiming that every synchronized copy has disappeared.

Link copied to clipboard

Deletes wallet-local state and managed persistence material.

Link copied to clipboard
fun digitalCredentialCapabilities(): MobileWalletDigitalCredentialCapabilities

Returns the current iOS IdentityDocumentServices capability snapshot.

Link copied to clipboard
suspend fun discardPresentationPreview(previewHandle: MobileWalletPresentationPreviewHandle): WalletBridgeResult<Unit>

Discards one reviewed presentation locally.

Link copied to clipboard
suspend fun initializeSigningIdentity(): WalletBridgeResult<SigningIdentityOperationResult>

Reopens the selected identity or creates the configured default through the shared lifecycle.

Link copied to clipboard
suspend fun keyUseAuthorizationPreflight(keyType: MobileWalletKeyType = MobileWalletKeyType.secp256r1, policy: WalletBridgeKeyUseAuthorizationPolicy = WalletBridgeKeyUseAuthorizationPolicy.BiometricCurrentSet): WalletBridgeResult<WalletBridgeKeyPreflight>

Checks whether a key-use authorization request is supported without creating a key.

Link copied to clipboard
suspend fun listDeferredIssuance(): WalletBridgeResult<List<WalletIssuanceContinuation>>

Lists retained deferred handles without polling or exposing protocol secrets.

Link copied to clipboard
suspend fun preparePaymentConsent(previewHandle: MobileWalletPresentationPreviewHandle, selectedCredentialOptions: List<MobileWalletPresentationCredentialSelection>, selectedDisclosureOptions: List<MobileWalletPresentationDisclosureSelection>? = null, did: String? = null): WalletBridgeResult<WalletBridgePaymentConsentPreparation>

Resolves authenticated payment instructions without signing.

Link copied to clipboard
suspend fun present(requestUrl: String, did: String? = null, runPolicies: Boolean? = null): WalletBridgeResult<MobileWalletPresentationResult>

Presents matching wallet credentials to an OpenID4VP verifier request.

Link copied to clipboard
suspend fun previewAnnexCPresentation(request: MobileWalletAnnexCRequest): WalletBridgeResult<MobileWalletAnnexCPreview>

Retains a parsed Annex C request for explicit native consent.

Link copied to clipboard
suspend fun previewPresentation(requestUrl: String): WalletBridgeResult<MobileWalletPresentationPreviewResult>

Resolves and previews an OpenID4VP presentation request without submitting credentials.

Link copied to clipboard
suspend fun proximityPresentationCapabilities(configuration: ProximityConfiguration): WalletBridgeResult<ProximityCapabilities>

Checks proximity prerequisites without creating session material or preparing a radio.

Link copied to clipboard
suspend fun rejectPresentation(previewHandle: MobileWalletPresentationPreviewHandle, errorCode: MobileWalletPresentationErrorCode? = null, errorDescription: String? = null): WalletBridgeResult<MobileWalletPresentationResult>

Rejects one reviewed presentation and consumes its preview.

Link copied to clipboard
suspend fun restoreSigningIdentity(option: SigningIdentityRestorationOption): WalletBridgeResult<SigningIdentityOperationResult>

Restores the exact original signing identity.

Link copied to clipboard
suspend fun resumeDeferredIssuance(deferredCredentialId: String): WalletBridgeResult<WalletIssuanceOutcome>

Resumes one deferred credential issuance result.

Link copied to clipboard
suspend fun resumeSigningIdentity(identityId: String): WalletBridgeResult<SigningIdentityOperationResult>

Resumes an interrupted identity operation.

Link copied to clipboard
suspend fun signingIdentityBackupOptions(identityId: String): WalletBridgeResult<List<SigningIdentityBackupOption>>

Offers backup only for an existing exportable key or retained recovery secret.

Link copied to clipboard
suspend fun signingIdentityCreationOptions(intent: SigningIdentityIntent = SigningIdentityIntent.WithoutRecovery, attestation: SigningIdentityAttestationRequest = SigningIdentityAttestationRequest.None): WalletBridgeResult<SigningIdentityCreationOptions>

Enumerates complete SDK-owned identity choices.

Link copied to clipboard
suspend fun signingIdentityCustodyOptions(identityId: String): WalletBridgeResult<List<SigningIdentityCustodyOption>>

Lists explicitly configured private-key custodians under the current export policy.

Link copied to clipboard
suspend fun signingIdentityRecoveryDiscovery(): WalletBridgeResult<SigningIdentityRecoveryDiscovery>

Discovers safe backup references from registered providers.

Link copied to clipboard
suspend fun signingIdentityRecoveryProviderStatuses(): WalletBridgeResult<List<IdentityRecoveryProviderStatus>>

Reports current provider prerequisites, including unavailable integrations.

Link copied to clipboard
suspend fun signingIdentityRestorationOptions(candidate: SigningIdentityRecoveryCandidate): WalletBridgeResult<List<SigningIdentityRestorationOption>>

Validates a backup and offers supported restoration destinations.

Link copied to clipboard
suspend fun signingIdentityState(): WalletBridgeResult<SigningIdentityState>

Reads the active, pending or unavailable identity state.

Link copied to clipboard
suspend fun startIssuance(request: MobileWalletIssuanceRequest): WalletBridgeResult<WalletIssuanceBatchSession>

Resolves an offer and starts its bound OpenID4VCI issuance session.

Link copied to clipboard
suspend fun startProximityPresentation(configuration: ProximityConfiguration): WalletBridgeResult<ProximitySession>

Starts one single-use proximity presentation session.

Link copied to clipboard
suspend fun submitAnnexCPresentation(submission: MobileWalletAnnexCSubmission): WalletBridgeResult<MobileWalletDigitalCredentialResponse>

Verifies the post-consent raw request and builds the encrypted Annex C response.

Link copied to clipboard
suspend fun submitPresentation(previewHandle: MobileWalletPresentationPreviewHandle, selectedCredentialOptions: List<MobileWalletPresentationCredentialSelection>, selectedDisclosureOptions: List<MobileWalletPresentationDisclosureSelection>? = null, did: String? = null, runPolicies: Boolean? = null, paymentConsentRevision: String? = null): WalletBridgeResult<MobileWalletPresentationResult>

Submits the selected credentials, acknowledging the prepared payment revision when required.