Skip to content
This repository was archived by the owner on Mar 5, 2025. It is now read-only.
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions packages/web3/src/web3_eip6963.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ export interface EIP6963ProviderDetail<API = Web3APISpec> {
provider: EIP1193Provider<API>;
}

export type EIP6963ProviderResponse = Map<string, EIP6963ProviderDetail>;

export interface EIP6963AnnounceProviderEvent<API = Web3APISpec> extends CustomEvent {
type: Eip6963EventName.eip6963announceProvider;
detail: EIP6963ProviderDetail<API>;
Expand All @@ -44,15 +46,15 @@ export interface EIP6963RequestProviderEvent extends Event {
type: Eip6963EventName.eip6963requestProvider;
}

export const eip6963ProvidersMap: Map<string, EIP6963ProviderDetail> = new Map();
export const eip6963ProvidersMap: EIP6963ProviderResponse = new Map();

export const web3ProvidersMapUpdated = "web3:providersMapUpdated";
export interface EIP6963ProvidersMapUpdateEvent extends CustomEvent {
type: string;
detail: Map<string, EIP6963ProviderDetail>;
detail: EIP6963ProviderResponse;
}

export const requestEIP6963Providers = async () =>
export const requestEIP6963Providers = async (): Promise<EIP6963ProviderResponse> =>
new Promise((resolve, reject) => {
if (typeof window === 'undefined') {
reject(new Error("window object not available, EIP-6963 is intended to be used within a browser"));
Expand Down