Skip to content
This repository was archived by the owner on Mar 5, 2025. It is now read-only.

Commit 2f24244

Browse files
author
Dan Forbes
authored
feat(requestEIP6963Providers): return-type (#7239)
* feat(requestEIP6963Providers): return-type Add return type to requestEIP6963Providers function signature. Closes #7238 * Update Changelog
1 parent 75df267 commit 2f24244

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2697,4 +2697,8 @@ If there are any bugs, improvements, optimizations or any new feature proposal f
26972697

26982698
- Revert `TransactionFactory.registerTransactionType` if there is a version mistatch between `web3-eth` and `web3-eth-accounts` and fix nextjs problem. (#7216)
26992699

2700+
#### web3
2701+
2702+
- `Web3.providers` namespace exports `type EIP6963ProviderResponse = Map<string, EIP6963ProviderDetail>`. Return type for the static `Web3.requestEIP6963Providers` is now `Promise<EIP6963ProviderResponse>`. (#7239)
2703+
27002704
## [Unreleased]

packages/web3/src/web3_eip6963.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ export interface EIP6963ProviderDetail<API = Web3APISpec> {
3535
provider: EIP1193Provider<API>;
3636
}
3737

38+
export type EIP6963ProviderResponse = Map<string, EIP6963ProviderDetail>;
39+
3840
export interface EIP6963AnnounceProviderEvent<API = Web3APISpec> extends CustomEvent {
3941
type: Eip6963EventName.eip6963announceProvider;
4042
detail: EIP6963ProviderDetail<API>;
@@ -44,15 +46,15 @@ export interface EIP6963RequestProviderEvent extends Event {
4446
type: Eip6963EventName.eip6963requestProvider;
4547
}
4648

47-
export const eip6963ProvidersMap: Map<string, EIP6963ProviderDetail> = new Map();
49+
export const eip6963ProvidersMap: EIP6963ProviderResponse = new Map();
4850

4951
export const web3ProvidersMapUpdated = "web3:providersMapUpdated";
5052
export interface EIP6963ProvidersMapUpdateEvent extends CustomEvent {
5153
type: string;
52-
detail: Map<string, EIP6963ProviderDetail>;
54+
detail: EIP6963ProviderResponse;
5355
}
5456

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

0 commit comments

Comments
 (0)