Skip to content

Commit 657d927

Browse files
committed
feat: Allow anonymous (ZeroAddress) access to cards
1 parent c65008b commit 657d927

File tree

4 files changed

+16
-9
lines changed

4 files changed

+16
-9
lines changed

javascript/engine-js/src/wallet/EthersAdapter.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,15 @@ export class EthersAdapter implements IWalletAdapter {
2727
private rpcProviders: {[chainId: number]: ethers.JsonRpcProvider|ethers.FallbackProvider|WaterfallFallbackProvider} = {};
2828

2929
constructor(
30-
public getWalletEthersProvider: () => Promise<ethers.BrowserProvider>,
30+
public getWalletEthersProvider: (requireConnection?: boolean) => Promise<ethers.BrowserProvider>,
3131
public readonly chainConfig: {[key: number]: IChainConfig}
3232
) {
3333

3434
}
3535

36-
private async getEthersProvider(){
36+
private async getEthersProvider(requireConnection: boolean = true){
3737

38-
this.ethersProvider = await this.getWalletEthersProvider();
38+
this.ethersProvider = await this.getWalletEthersProvider(requireConnection);
3939

4040
return this.ethersProvider;
4141
}
@@ -308,7 +308,7 @@ export class EthersAdapter implements IWalletAdapter {
308308
async getCurrentWalletAddress() {
309309

310310
try {
311-
const ethersProvider = await this.getEthersProvider();
311+
const ethersProvider = await this.getEthersProvider(false);
312312

313313
const accounts = await ethersProvider.listAccounts();
314314

javascript/tokenscript-viewer/src/components/app/app.tsx

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -197,8 +197,17 @@ export class AppRoot {
197197
return (await WalletProvider.getWallet(true)).provider;
198198
}
199199
} 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;
202211
}
203212
}
204213

javascript/tokenscript-viewer/src/components/common/tokens-grid/tokens-grid.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ export class TokensGrid {
120120

121121
private async invokeUrlAction(){
122122

123-
if (this.urlActionInvoked || !Web3WalletProvider.isWalletConnected())
123+
if (this.urlActionInvoked)
124124
return;
125125

126126
const params = new URLSearchParams(document.location.hash.substring(1));

javascript/tokenscript-viewer/src/components/viewers/new/viewer-popover/viewer-popover.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,6 @@ export class ViewerPopover {
7171
this.tokenScript = tokenScript;
7272

7373
this.tokenScript.on("TOKENS_UPDATED", async (data) => {
74-
if (!Web3WalletProvider.isWalletConnected())
75-
return;
7674
this.tokenScript.getAttributes().invalidate(["walletAddress"])
7775
await this.loadOnboardingCards();
7876
}, "onboarding");

0 commit comments

Comments
 (0)