File tree Expand file tree Collapse file tree 4 files changed +16
-9
lines changed
tokenscript-viewer/src/components
viewers/new/viewer-popover Expand file tree Collapse file tree 4 files changed +16
-9
lines changed Original file line number Diff line number Diff line change @@ -27,15 +27,15 @@ export class EthersAdapter implements IWalletAdapter {
27
27
private rpcProviders : { [ chainId : number ] : ethers . JsonRpcProvider | ethers . FallbackProvider | WaterfallFallbackProvider } = { } ;
28
28
29
29
constructor (
30
- public getWalletEthersProvider : ( ) => Promise < ethers . BrowserProvider > ,
30
+ public getWalletEthersProvider : ( requireConnection ?: boolean ) => Promise < ethers . BrowserProvider > ,
31
31
public readonly chainConfig : { [ key : number ] : IChainConfig }
32
32
) {
33
33
34
34
}
35
35
36
- private async getEthersProvider ( ) {
36
+ private async getEthersProvider ( requireConnection : boolean = true ) {
37
37
38
- this . ethersProvider = await this . getWalletEthersProvider ( ) ;
38
+ this . ethersProvider = await this . getWalletEthersProvider ( requireConnection ) ;
39
39
40
40
return this . ethersProvider ;
41
41
}
@@ -308,7 +308,7 @@ export class EthersAdapter implements IWalletAdapter {
308
308
async getCurrentWalletAddress ( ) {
309
309
310
310
try {
311
- const ethersProvider = await this . getEthersProvider ( ) ;
311
+ const ethersProvider = await this . getEthersProvider ( false ) ;
312
312
313
313
const accounts = await ethersProvider . listAccounts ( ) ;
314
314
Original file line number Diff line number Diff line change @@ -197,8 +197,17 @@ export class AppRoot {
197
197
return ( await WalletProvider . getWallet ( true ) ) . provider ;
198
198
}
199
199
} else {
200
- providerFactory = async ( ) => {
201
- return ( await ( await import ( "../wallet/Web3WalletProvider" ) ) . Web3WalletProvider . getWallet ( true ) ) . provider ;
200
+ providerFactory = async ( requireConnection = true ) => {
201
+
202
+ const walletProvider = ( await import ( "../wallet/Web3WalletProvider" ) ) . Web3WalletProvider ;
203
+
204
+ if ( ! walletProvider . isWalletConnected ( ) ) {
205
+ if ( ! requireConnection ) {
206
+ throw new Error ( "Wallet not connected" ) ;
207
+ }
208
+ }
209
+
210
+ return ( await walletProvider . getWallet ( true ) ) . provider ;
202
211
}
203
212
}
204
213
Original file line number Diff line number Diff line change @@ -120,7 +120,7 @@ export class TokensGrid {
120
120
121
121
private async invokeUrlAction ( ) {
122
122
123
- if ( this . urlActionInvoked || ! Web3WalletProvider . isWalletConnected ( ) )
123
+ if ( this . urlActionInvoked )
124
124
return ;
125
125
126
126
const params = new URLSearchParams ( document . location . hash . substring ( 1 ) ) ;
Original file line number Diff line number Diff line change @@ -71,8 +71,6 @@ export class ViewerPopover {
71
71
this . tokenScript = tokenScript ;
72
72
73
73
this . tokenScript . on ( "TOKENS_UPDATED" , async ( data ) => {
74
- if ( ! Web3WalletProvider . isWalletConnected ( ) )
75
- return ;
76
74
this . tokenScript . getAttributes ( ) . invalidate ( [ "walletAddress" ] )
77
75
await this . loadOnboardingCards ( ) ;
78
76
} , "onboarding" ) ;
You can’t perform that action at this time.
0 commit comments