From a5338e177d05d54b549cd35349d30e949a890a53 Mon Sep 17 00:00:00 2001 From: bartosz-lipinski <264380+bartosz-lipinski@users.noreply.github.com> Date: Mon, 22 Mar 2021 10:21:09 -0500 Subject: [PATCH] feat: fix phantom connectivity --- .../src/wallet-adapters/phantom/index.tsx | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/packages/common/src/wallet-adapters/phantom/index.tsx b/packages/common/src/wallet-adapters/phantom/index.tsx index 050a280..2d677ea 100644 --- a/packages/common/src/wallet-adapters/phantom/index.tsx +++ b/packages/common/src/wallet-adapters/phantom/index.tsx @@ -61,13 +61,14 @@ export class PhantomWalletAdapter return this._provider.signTransaction(transaction); } - connect() { + connect = async () => { if (this._provider) { return; } + let provider: PhantomProvider; if ((window as any)?.solana?.isPhantom) { - this._provider = (window as any).solana; + provider = (window as any).solana; } else { window.open("https://phantom.app/", "_blank"); notify({ @@ -77,7 +78,17 @@ export class PhantomWalletAdapter return; } - return this._provider?.connect().then(() => this.emit("connect")); + provider.on('connect', () => { + this._provider = provider; + this.emit("connect"); + }) + + if (!provider.isConnected) { + await provider.connect(); + } + + this._provider = provider; + this.emit("connect"); } disconnect() {