Skip to main content
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