Skip to content

Commit

Permalink
fix: Phantom listener issue
Browse files Browse the repository at this point in the history
  • Loading branch information
secretshardul committed Mar 27, 2023
1 parent a7c5759 commit f081c23
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 12 deletions.
4 changes: 2 additions & 2 deletions packages/use-solana/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@
"react": "^17.0.2"
},
"dependencies": {
"@ledgerhq/hw-transport": "^6.11.2",
"@ledgerhq/hw-transport-webusb": "^6.11.2",
"@ledgerhq/hw-transport": "6.11.2",
"@ledgerhq/hw-transport-webusb": "6.11.2",
"@project-serum/sol-wallet-adapter": "^0.2.6",
"@saberhq/solana-contrib": "^1.7.4",
"bs58": "^4.0.1",
Expand Down
16 changes: 6 additions & 10 deletions packages/use-solana/src/adapters/phantom/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,7 @@ export class PhantomWalletAdapter
}

private get _provider(): PhantomProvider | undefined {
if (window?.solana?.isPhantom) {
return window.solana;
}
return undefined;
return window?.phantom?.solana
}

private _handleConnect = (...args: unknown[]) => {
Expand All @@ -32,6 +29,7 @@ export class PhantomWalletAdapter
return this._provider?.isConnected || false;
}

// problem here?
get autoApprove(): boolean {
return this._provider?.autoApprove || false;
}
Expand Down Expand Up @@ -63,12 +61,10 @@ export class PhantomWalletAdapter
window.open("https://phantom.app/", "_blank", "noopener noreferrer");
throw new Error("Phantom not installed");
}
if (!this._provider.listeners("connect").length) {
this._provider?.on("connect", this._handleConnect);
}
if (!this._provider.listeners("disconnect").length) {
this._provider?.on("disconnect", this._handleDisconnect);
}
// Fix- Listener length is not 0 now
this._provider?.on("connect", this._handleConnect);
this._provider?.on("disconnect", this._handleDisconnect);

await this._provider?.connect();
};

Expand Down
1 change: 1 addition & 0 deletions packages/use-solana/src/typings/window.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ export interface MathWalletProvider {
}
declare global {
interface Window {
phantom?: { solana?: PhantomProvider }
solana?:
| MathWalletProvider
| PhantomProvider
Expand Down

0 comments on commit f081c23

Please sign in to comment.