Skip to main content
This page has been updated for Wallets SDK V1. If you are using the previous version, see the previous version docs or the V1 migration guide.
Defined in: packages/wallets/src/utils/device-signers/IframeDeviceSignerKeyStorage.ts:41 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:48

Parameters

Returns

IframeDeviceSignerKeyStorage

Overrides

DeviceSignerKeyStorage.constructor

Methods

deleteKey()

deleteKey(address): Promise<void>
Defined in: packages/wallets/src/utils/device-signers/IframeDeviceSignerKeyStorage.ts:123 Delete the key pair associated with the given wallet address.

Parameters

Returns

Promise<void>

Overrides

DeviceSignerKeyStorage.deleteKey

destroy()

destroy(): void
Defined in: packages/wallets/src/utils/device-signers/IframeDeviceSignerKeyStorage.ts:127

Returns

void

generateKey()

generateKey(params): Promise<string>
Defined in: packages/wallets/src/utils/device-signers/IframeDeviceSignerKeyStorage.ts:78 Generate a new P-256 key pair and persist it.

Parameters

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:328 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:97 Retrieve the public key for a given wallet address.

Parameters

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:106 Check if a key with the given public key exists on this device.

Parameters

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:89 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

Returns

Promise<void>

Overrides

DeviceSignerKeyStorage.mapAddressToKey

setBiometricRequestHandler()

setBiometricRequestHandler(handler): void
Defined in: packages/wallets/src/utils/device-signers/IframeDeviceSignerKeyStorage.ts:70 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:115 Sign a message using the private key associated with the given wallet address.

Parameters

Returns

Promise<{ r: string; s: string; }> The ECDSA signature split into its r and s components, each as a hex string.

Overrides

DeviceSignerKeyStorage.signMessage