Skip to content

Commit 9f282c2

Browse files
committed
re-emit events from provider
1 parent 8aa9f77 commit 9f282c2

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

packages/no-modal/src/providers/base-provider/baseProvider.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,8 +118,13 @@ export abstract class BaseProvider<C extends BaseProviderConfig, S extends BaseP
118118
if (this._providerEngineProxy) {
119119
// eslint-disable-next-line @typescript-eslint/no-explicit-any
120120
(this._providerEngineProxy as any).setTarget(provider);
121+
// re-emit events from provider
122+
this._providerEngineProxy.eventNames().forEach((event) => {
123+
provider.on(event as keyof ProviderEvents, (...args) => {
124+
this.emit(event as keyof BaseProviderEvents<S>, ...(args as never));
125+
});
126+
});
121127
} else {
122-
// TODO: need to test if provider.on("chainChanged") & other events are re-emitted by commonjrpc provider
123128
this._providerEngineProxy = createEventEmitterProxy<SafeEventEmitterProvider>(provider);
124129
}
125130

@@ -146,7 +151,6 @@ export abstract class BaseProvider<C extends BaseProviderConfig, S extends BaseP
146151
// This is only added because we don't have ethereum and solana private key providers anymore
147152
this.provider.on("chainChanged", (chainId: string) => {
148153
this.update({ chainId } as Partial<S>);
149-
this.emit("chainChanged", chainId);
150154
});
151155
}
152156

0 commit comments

Comments
 (0)