File tree Expand file tree Collapse file tree 1 file changed +10
-3
lines changed
Expand file tree Collapse file tree 1 file changed +10
-3
lines changed Original file line number Diff line number Diff line change @@ -19,13 +19,20 @@ export async function getChainIdFromProvider(ethProvider: EthersCompatibleProvid
1919 const provider = new JsonRpcProvider ( ethProvider ) ;
2020 const network = await provider . getNetwork ( ) ;
2121 return Number ( network . chainId ) ;
22+ } else if ( ethProvider instanceof AbstractProvider ) {
23+ const network = await ethProvider . getNetwork ( ) ;
24+ return Number ( network . chainId ) ;
25+ } else if ( ethProvider instanceof AbstractSigner ) {
26+ const { provider } = ethProvider ;
27+ if ( ! provider ) {
28+ throw Error ( 'Signer is not connected to a provider' ) ;
29+ }
30+ const network = await provider . getNetwork ( ) ;
31+ return Number ( network . chainId ) ;
2232 } else if ( 'request' in ethProvider ) {
2333 const provider = new BrowserProvider ( ethProvider as Eip1193Provider ) ;
2434 const network = await provider . getNetwork ( ) ;
2535 return Number ( network . chainId ) ;
26- } else if ( 'getNetwork' in ethProvider ) {
27- const network = await ( ethProvider as AbstractProvider ) . getNetwork ( ) ;
28- return Number ( network . chainId ) ;
2936 }
3037 } catch ( e ) {
3138 console . warn ( 'Failed to detect chainId:' , e ) ;
You can’t perform that action at this time.
0 commit comments