diff --git a/.changeset/cold-knives-sell.md b/.changeset/cold-knives-sell.md new file mode 100644 index 0000000..9611a82 --- /dev/null +++ b/.changeset/cold-knives-sell.md @@ -0,0 +1,5 @@ +--- +"@macalinao/wallet-adapter-compat": patch +--- + +Fix wallet adapter compat provider signer useMemo deps diff --git a/packages/wallet-adapter-compat/src/index.ts b/packages/wallet-adapter-compat/src/index.ts index f7eee05..249bb8d 100644 --- a/packages/wallet-adapter-compat/src/index.ts +++ b/packages/wallet-adapter-compat/src/index.ts @@ -1,2 +1,2 @@ -export * from "./WalletAdapterCompatProvider.js"; -export * from "./walletTransactionSendingSigner.js"; +export * from "./wallet-adapter-compat-provider.js"; +export * from "./wallet-transaction-sending-signer.js"; diff --git a/packages/wallet-adapter-compat/src/WalletAdapterCompatProvider.tsx b/packages/wallet-adapter-compat/src/wallet-adapter-compat-provider.tsx similarity index 73% rename from packages/wallet-adapter-compat/src/WalletAdapterCompatProvider.tsx rename to packages/wallet-adapter-compat/src/wallet-adapter-compat-provider.tsx index a912cae..261f023 100644 --- a/packages/wallet-adapter-compat/src/WalletAdapterCompatProvider.tsx +++ b/packages/wallet-adapter-compat/src/wallet-adapter-compat-provider.tsx @@ -2,7 +2,7 @@ import { WalletProvider } from "@macalinao/grill"; import { useConnection, useWallet } from "@solana/wallet-adapter-react"; import { install } from "@solana/webcrypto-ed25519-polyfill"; import { useMemo } from "react"; -import { createWalletTransactionSendingSigner } from "./walletTransactionSendingSigner.js"; +import { createWalletTransactionSendingSigner } from "./wallet-transaction-sending-signer.js"; // Install the polyfill install(); @@ -21,21 +21,24 @@ export const WalletAdapterCompatProvider: React.FC< WalletAdapterCompatProviderProps > = ({ children }) => { const { connection } = useConnection(); - const wallet = useWallet(); + const { publicKey, sendTransaction, connected } = useWallet(); // Create the signer when wallet is connected const signer = useMemo(() => { - if (!(wallet.connected && wallet.publicKey && wallet.signTransaction)) { + if (!(connected && publicKey)) { return null; } try { - return createWalletTransactionSendingSigner(wallet, connection); + return createWalletTransactionSendingSigner( + { publicKey, sendTransaction }, + connection, + ); } catch (error) { console.error("Failed to create transaction sending signer:", error); return null; } - }, [wallet, connection]); + }, [connected, publicKey, sendTransaction, connection]); return {children}; }; diff --git a/packages/wallet-adapter-compat/src/walletTransactionSendingSigner.ts b/packages/wallet-adapter-compat/src/wallet-transaction-sending-signer.ts similarity index 100% rename from packages/wallet-adapter-compat/src/walletTransactionSendingSigner.ts rename to packages/wallet-adapter-compat/src/wallet-transaction-sending-signer.ts