Skip to content

BrowserExtensionTransport

Defined in: src/extension/browserExtensionTransport.ts:55

ICRC-94 transport for communicating with browser extension signers.

Browser extensions announce themselves via icrc94:announceProvider window events. Use BrowserExtensionTransport.discover to find installed extensions, or BrowserExtensionTransport.findTransport to connect to a specific one by UUID.

https://github.com/dfinity/wg-identity-authentication/blob/main/topics/icrc_94_multi_injected_provider_discovery.md

// Discover all installed extensions
const providers = await BrowserExtensionTransport.discover();
// Or connect to a specific extension by UUID
const transport = await BrowserExtensionTransport.findTransport({ uuid: "..." });
const signer = new Signer({ transport });

new BrowserExtensionTransport(options): BrowserExtensionTransport

Defined in: src/extension/browserExtensionTransport.ts:58

BrowserExtensionChannelOptions

BrowserExtensionTransport

establishChannel(): Promise<BrowserExtensionChannel>

Defined in: src/extension/browserExtensionTransport.ts:110

Creates a new BrowserExtensionChannel for this extension.

Promise<BrowserExtensionChannel>

Transport.establishChannel


static discover(root0?): Promise<ProviderDetail[]>

Defined in: src/extension/browserExtensionTransport.ts:74

Discovers all installed browser extension signers by dispatching an icrc94:requestProvider event and collecting icrc94:announceProvider responses. Waits for discoveryDuration ms before returning.

DiscoverBrowserExtensionOptions = {}

The discovery options.

Promise<ProviderDetail[]>

The discovered extension providers, deduplicated by UUID.


static findTransport(options): Promise<BrowserExtensionTransport>

Defined in: src/extension/browserExtensionTransport.ts:96

Discovers extensions and connects to the one matching the given UUID.

EstablishBrowserExtensionTransportOptions

The options including UUID and discovery settings.

Promise<BrowserExtensionTransport>

If no extension with the given UUID is found.