Skip to main content
Defined in: packages/wallets/src/utils/device-signers/DeviceSignerKeyStorage.ts:7

Extended by

Constructors

new DeviceSignerKeyStorage()

new DeviceSignerKeyStorage(apiKey): DeviceSignerKeyStorage
Defined in: packages/wallets/src/utils/device-signers/DeviceSignerKeyStorage.ts:8

Parameters

Returns

DeviceSignerKeyStorage

Methods

deleteKey()

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

Parameters

Returns

Promise<void>

generateKey()

Call Signature

abstract generateKey(params): Promise<string>
Defined in: packages/wallets/src/utils/device-signers/DeviceSignerKeyStorage.ts:17 Generate a new P-256 key pair and persist it.
Parameters
Returns
Promise<string> The uncompressed public key encoded as a base64 string.

Call Signature

abstract generateKey(params): Promise<string>
Defined in: packages/wallets/src/utils/device-signers/DeviceSignerKeyStorage.ts:21 Generate a new P-256 key pair and persist it.
Parameters
Returns
Promise<string> The uncompressed public key encoded as a base64 string.

Call Signature

abstract generateKey(params): Promise<string>
Defined in: packages/wallets/src/utils/device-signers/DeviceSignerKeyStorage.ts:26 Generate a new P-256 key pair and persist it.
Parameters
Returns
Promise<string> The uncompressed public key encoded as a base64 string.

getDeviceName()

abstract getDeviceName(): string
Defined in: packages/wallets/src/utils/device-signers/DeviceSignerKeyStorage.ts:79 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.

getKey()

abstract getKey(address): Promise<string | null>
Defined in: packages/wallets/src/utils/device-signers/DeviceSignerKeyStorage.ts:45 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.

getSavedSignerLocator()

getSavedSignerLocator(_address): Promise<string | null>
Defined in: packages/wallets/src/utils/device-signers/DeviceSignerKeyStorage.ts:97 Get the device signer locator that saveSignerLocator saved for a wallet. The default implementation always returns null.

Parameters

Returns

Promise<string | null> The saved locator, or null if the storage has no locator for the wallet.

hasKey()

abstract hasKey(publicKeyBase64): Promise<boolean>
Defined in: packages/wallets/src/utils/device-signers/DeviceSignerKeyStorage.ts:52 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.

mapAddressToKey()

abstract mapAddressToKey(address, publicKeyBase64): Promise<void>
Defined in: packages/wallets/src/utils/device-signers/DeviceSignerKeyStorage.ts:38 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>

preload()

preload(): void
Defined in: packages/wallets/src/utils/device-signers/DeviceSignerKeyStorage.ts:72 Start any slow setup (e.g. loading an iframe) so later calls don’t wait for it. Called when a wallet starts loading, before its first request. Never throws; the default does nothing.

Returns

void

saveSignerLocator()

saveSignerLocator(_address, _signerLocator): Promise<void>
Defined in: packages/wallets/src/utils/device-signers/DeviceSignerKeyStorage.ts:89 Save the locator of the device signer that this device registered for a wallet. The SDK uses this locator to remove the old signer after the device loses its key. Keep the locator in storage that is separate from the key. The default implementation does not save the locator.

Parameters

Returns

Promise<void>

signMessage()

abstract signMessage(address, message): Promise<{ r: string; s: string; }>
Defined in: packages/wallets/src/utils/device-signers/DeviceSignerKeyStorage.ts:60 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.