Documentation Index
Fetch the complete documentation index at: https://docs.crossmint.com/llms.txt
Use this file to discover all available pages before exploring further.
Defined in: packages/wallets/src/utils/device-signers/IframeDeviceSignerKeyStorage.ts:39
DeviceSignerKeyStorage backed by a hidden iframe.
All crypto operations are delegated to the iframe via postMessage RPC,
keeping key material isolated in the iframe’s origin.
Extends
Constructors
new IframeDeviceSignerKeyStorage()
new IframeDeviceSignerKeyStorage(apiKey): IframeDeviceSignerKeyStorage
Defined in: packages/wallets/src/utils/device-signers/IframeDeviceSignerKeyStorage.ts:46
Parameters
| Parameter | Type |
|---|
apiKey | string |
Returns
IframeDeviceSignerKeyStorage
Overrides
DeviceSignerKeyStorage.constructor
Methods
deleteKey()
deleteKey(address): Promise<void>
Defined in: packages/wallets/src/utils/device-signers/IframeDeviceSignerKeyStorage.ts:112
Delete the key pair associated with the given wallet address.
Parameters
| Parameter | Type | Description |
|---|
address | string | The wallet address whose key pair to remove. |
Returns
Promise<void>
Overrides
DeviceSignerKeyStorage.deleteKey
destroy()
destroy(): void
Defined in: packages/wallets/src/utils/device-signers/IframeDeviceSignerKeyStorage.ts:116
Returns
void
generateKey()
generateKey(params): Promise<string>
Defined in: packages/wallets/src/utils/device-signers/IframeDeviceSignerKeyStorage.ts:67
Generate a new P-256 key pair and persist it.
Parameters
| Parameter | Type | Description |
|---|
params | { address: string; biometricExpirationTime: number; biometricPolicy: BiometricPolicy; } | Key generation parameters. |
params.address? | string | Optional wallet address to associate the key with. If omitted, the key should be stored under a temporary identifier until mapAddressToKey is called. |
params.biometricExpirationTime? | number | - |
params.biometricPolicy? | BiometricPolicy | - |
Returns
Promise<string>
The uncompressed public key encoded as a base64 string.
Overrides
DeviceSignerKeyStorage.generateKey
getDeviceName()
getDeviceName(): string
Defined in: packages/wallets/src/utils/device-signers/IframeDeviceSignerKeyStorage.ts:317
Get a human-readable name for this device (e.g. “MacBook Pro”, “iPhone 15”).
Used to label device signers in the API for identification purposes.
Returns
string
A descriptive name for the current device.
Overrides
DeviceSignerKeyStorage.getDeviceName
getKey()
getKey(address): Promise<string | null>
Defined in: packages/wallets/src/utils/device-signers/IframeDeviceSignerKeyStorage.ts:86
Retrieve the public key for a given wallet address.
Parameters
| Parameter | Type | Description |
|---|
address | string | The wallet address whose public key to look up. |
Returns
Promise<string | null>
The base64-encoded public key, or null if no key is found for the address.
Overrides
DeviceSignerKeyStorage.getKey
hasKey()
hasKey(publicKeyBase64): Promise<boolean>
Defined in: packages/wallets/src/utils/device-signers/IframeDeviceSignerKeyStorage.ts:95
Check if a key with the given public key exists on this device.
Parameters
| Parameter | Type | Description |
|---|
publicKeyBase64 | string | The base64-encoded public key to look for. |
Returns
Promise<boolean>
true if the key exists on the device, false otherwise.
Overrides
DeviceSignerKeyStorage.hasKey
mapAddressToKey()
mapAddressToKey(address, publicKeyBase64): Promise<void>
Defined in: packages/wallets/src/utils/device-signers/IframeDeviceSignerKeyStorage.ts:78
Associate an already-generated key pair with a wallet address.
Used when the wallet address is not yet known at the time of key generation.
Parameters
| Parameter | Type | Description |
|---|
address | string | The wallet address to map the key to. |
publicKeyBase64 | string | The base64-encoded public key returned by generateKey. |
Returns
Promise<void>
Overrides
DeviceSignerKeyStorage.mapAddressToKey
setBiometricRequestHandler()
setBiometricRequestHandler(handler): void
Defined in: packages/wallets/src/utils/device-signers/IframeDeviceSignerKeyStorage.ts:59
Set a handler that is called before each WebAuthn ceremony to obtain user activation.
The handler should show a UI prompt (e.g. PasskeyPrompt) and resolve when the user clicks.
Parameters
Returns
void
signMessage()
signMessage(address, message): Promise<{ r: string; s: string; }>
Defined in: packages/wallets/src/utils/device-signers/IframeDeviceSignerKeyStorage.ts:104
Sign a message using the private key associated with the given wallet address.
Parameters
| Parameter | Type | Description |
|---|
address | string | The wallet address whose private key to sign with. |
message | string | The message string to sign. |
Returns
Promise<{ r: string; s: string; }>
The ECDSA signature split into its r and s components, each as a hex string.
Overrides
DeviceSignerKeyStorage.signMessage