From 0261779fba4e811e25d88a5be9a56ca58594dfe0 Mon Sep 17 00:00:00 2001 From: siddesh-privy Date: Thu, 25 Sep 2025 13:47:04 +0700 Subject: [PATCH] replace links --- examples/privy-next-cross-app-connect/README.md | 8 ++++++-- .../privy-next-cross-app-provider/README.md | 10 +++++----- examples/privy-next-farcaster/README.md | 8 ++++++-- examples/privy-next-permissionless/README.md | 14 +++++++------- examples/privy-next-session-keys/README.md | 4 ---- examples/privy-next-smart-wallets/README.md | 17 +++++++++-------- examples/privy-next-solana/README.md | 11 +++++------ examples/privy-next-wagmi/README.md | 9 ++++++--- examples/privy-react-farcaster/README.md | 2 +- examples/privy-react-funding/README.md | 12 ++++++------ privy-next-starter/README.md | 8 ++++++-- privy-react-starter/README.md | 10 +++++++++- 12 files changed, 66 insertions(+), 47 deletions(-) diff --git a/examples/privy-next-cross-app-connect/README.md b/examples/privy-next-cross-app-connect/README.md index 5f5e256..4a2909a 100644 --- a/examples/privy-next-cross-app-connect/README.md +++ b/examples/privy-next-cross-app-connect/README.md @@ -4,7 +4,7 @@ This example showcases how to get started using Privy's React SDK inside a Next. ## Live Demo -[View Demo]({{DEPLOY_URL}}) +[View Demo](cross-app-connect-demo.vercel.app) ## Getting Started @@ -54,6 +54,7 @@ Open [http://localhost:3000](http://localhost:3000) in your browser to see the a Login or sign up using Privy's pre-built modals. [`src/app/page.tsx`](./src/app/page.tsx) + ```tsx import { usePrivy } from "@privy-io/react-auth"; const { login } = usePrivy(); @@ -65,13 +66,15 @@ login(); Programmatically create embedded wallets for multiple blockchains. Supports Ethereum, Solana, Bitcoin, and more. [`src/components/sections/create-a-wallet.tsx`](./src/components/sections/create-a-wallet.tsx) + ```tsx import { useCreateWallet, useSolanaWallets } from "@privy-io/react-auth"; import { useCreateWallet as useCreateWalletExtendedChains } from "@privy-io/react-auth/extended-chains"; const { createWallet: createWalletEvm } = useCreateWallet(); const { createWallet: createWalletSolana } = useSolanaWallets(); -const { createWallet: createWalletExtendedChains } = useCreateWalletExtendedChains(); +const { createWallet: createWalletExtendedChains } = + useCreateWalletExtendedChains(); // Create Ethereum wallet createWalletEvm({ createAdditional: true }); @@ -88,6 +91,7 @@ createWalletExtendedChains({ chainType: "bitcoin-segwit" }); Send transactions on both Ethereum and Solana with comprehensive wallet action support. [`src/components/sections/wallet-actions.tsx`](./src/components/sections/wallet-actions.tsx) + ```tsx import { useSendTransaction } from "@privy-io/react-auth"; import { useSendTransaction as useSendTransactionSolana } from "@privy-io/react-auth/solana"; diff --git a/examples/privy-next-cross-app-provider/README.md b/examples/privy-next-cross-app-provider/README.md index 5f5e256..375d96f 100644 --- a/examples/privy-next-cross-app-provider/README.md +++ b/examples/privy-next-cross-app-provider/README.md @@ -2,10 +2,6 @@ This example showcases how to get started using Privy's React SDK inside a Next.js application. -## Live Demo - -[View Demo]({{DEPLOY_URL}}) - ## Getting Started ### 1. Clone the Project @@ -54,6 +50,7 @@ Open [http://localhost:3000](http://localhost:3000) in your browser to see the a Login or sign up using Privy's pre-built modals. [`src/app/page.tsx`](./src/app/page.tsx) + ```tsx import { usePrivy } from "@privy-io/react-auth"; const { login } = usePrivy(); @@ -65,13 +62,15 @@ login(); Programmatically create embedded wallets for multiple blockchains. Supports Ethereum, Solana, Bitcoin, and more. [`src/components/sections/create-a-wallet.tsx`](./src/components/sections/create-a-wallet.tsx) + ```tsx import { useCreateWallet, useSolanaWallets } from "@privy-io/react-auth"; import { useCreateWallet as useCreateWalletExtendedChains } from "@privy-io/react-auth/extended-chains"; const { createWallet: createWalletEvm } = useCreateWallet(); const { createWallet: createWalletSolana } = useSolanaWallets(); -const { createWallet: createWalletExtendedChains } = useCreateWalletExtendedChains(); +const { createWallet: createWalletExtendedChains } = + useCreateWalletExtendedChains(); // Create Ethereum wallet createWalletEvm({ createAdditional: true }); @@ -88,6 +87,7 @@ createWalletExtendedChains({ chainType: "bitcoin-segwit" }); Send transactions on both Ethereum and Solana with comprehensive wallet action support. [`src/components/sections/wallet-actions.tsx`](./src/components/sections/wallet-actions.tsx) + ```tsx import { useSendTransaction } from "@privy-io/react-auth"; import { useSendTransaction as useSendTransactionSolana } from "@privy-io/react-auth/solana"; diff --git a/examples/privy-next-farcaster/README.md b/examples/privy-next-farcaster/README.md index f8e0355..ad7b32a 100644 --- a/examples/privy-next-farcaster/README.md +++ b/examples/privy-next-farcaster/README.md @@ -4,7 +4,7 @@ This example showcases how to get started using Privy's React SDK inside a Next. ## Live Demo -[View Demo]({{DEPLOY_URL}}) +[View Demo](farcaster-demo.vercel.app) ## Getting Started @@ -54,6 +54,7 @@ Open [http://localhost:3000](http://localhost:3000) in your browser to see the a Login or sign up using Privy's pre-built modals. [`src/app/page.tsx`](./src/app/page.tsx) + ```tsx import { usePrivy } from "@privy-io/react-auth"; const { login } = usePrivy(); @@ -65,13 +66,15 @@ login(); Programmatically create embedded wallets for multiple blockchains. Supports Ethereum, Solana, Bitcoin, and more. [`src/components/sections/create-a-wallet.tsx`](./src/components/sections/create-a-wallet.tsx) + ```tsx import { useCreateWallet, useSolanaWallets } from "@privy-io/react-auth"; import { useCreateWallet as useCreateWalletExtendedChains } from "@privy-io/react-auth/extended-chains"; const { createWallet: createWalletEvm } = useCreateWallet(); const { createWallet: createWalletSolana } = useSolanaWallets(); -const { createWallet: createWalletExtendedChains } = useCreateWalletExtendedChains(); +const { createWallet: createWalletExtendedChains } = + useCreateWalletExtendedChains(); // Create Ethereum wallet createWalletEvm({ createAdditional: true }); @@ -88,6 +91,7 @@ createWalletExtendedChains({ chainType: "bitcoin-segwit" }); Send transactions on both Ethereum and Solana with comprehensive wallet action support. [`src/components/sections/wallet-actions.tsx`](./src/components/sections/wallet-actions.tsx) + ```tsx import { useSendTransaction } from "@privy-io/react-auth"; import { useSendTransaction as useSendTransactionSolana } from "@privy-io/react-auth/solana"; diff --git a/examples/privy-next-permissionless/README.md b/examples/privy-next-permissionless/README.md index e779537..f7a3aba 100644 --- a/examples/privy-next-permissionless/README.md +++ b/examples/privy-next-permissionless/README.md @@ -2,29 +2,31 @@ ## Live Demo -[https://permissionless-example.privy.io/](https://permissionless-example.privy.io/) +[Live Demo](https://permissionless-example.privy.io/) ## Intro This is a template for integrating [**Privy**](https://www.privy.io/) and [**`permissionless.js` (Pimlico)**](https://docs.pimlico.io/permissionless) into a [NextJS](https://nextjs.org/) project. Check out the deployed app [here](https://permissionless-example.privy.io/)! -In this demo app, a user can login with their email or Google account, and get a Privy embedded wallet. Once the user has logged in and created an embedded wallet, `permissionless.js` will create a **smart wallet** for the user behind the scenes, which can then be used to incorporate gas sponsorship, batched transactions, and more into your app. +In this demo app, a user can login with their email or Google account, and get a Privy embedded wallet. Once the user has logged in and created an embedded wallet, `permissionless.js` will create a **smart wallet** for the user behind the scenes, which can then be used to incorporate gas sponsorship, batched transactions, and more into your app. You can test this by logging into the app and attempting to mint an NFT with your smart wallet; it should cost you no gas! ## Setup 1. Fork this repository, clone it, and open it in your terminal. + ```sh git clone https://github.com//permissionless-example ``` 2. Install the necessary dependencies (including [Privy](https://www.npmjs.com/package/@privy-io/react-auth) and [Permissionless](https://www.npmjs.com/package/permissionless)) with `npm`. + ```sh -npm i +npm i ``` -3. Initialize your environment variables by copying the `.env.example` file to an `.env.local` file. Then, in `.env.local`, paste your **Privy App ID** from the [Privy console](https://console.privy.io) and your **Pimlico Bundler and Paymaster URLs** from the [Pimlico dashboard](https://dashboard.pimlico.io/). This app uses the **Base Sepolia** testnet; you should make sure to apply the same settings to your Pimlico configuration in the dashboard. +3. Initialize your environment variables by copying the `.env.example` file to an `.env.local` file. Then, in `.env.local`, paste your **Privy App ID** from the [Privy console](https://console.privy.io) and your **Pimlico Bundler and Paymaster URLs** from the [Pimlico dashboard](https://dashboard.pimlico.io/). This app uses the **Base Sepolia** testnet; you should make sure to apply the same settings to your Pimlico configuration in the dashboard. ```sh # In your terminal, create .env.local from .env.example @@ -40,12 +42,10 @@ NEXT_PUBLIC_PIMLICO_BUNDLER_URL= In your project directory, run `npm run dev`. You can now visit http://localhost:3000 to see your app and login with Privy! - ## Check out: + - `pages/_app.tsx` for how to set your app up with the `PrivyProvider` - `hooks/SmartAccountContext.tsx` for how to deploy a smart account for users, using their Privy embedded wallet as a signer, and how to store it in a React context - `pages/dashboard.tsx` for how to use the custom `useSmartAccount` hook to send an NFT minting transaction **Check out our [Pimlico integration guide](https://docs.privy.io/guide/frontend/account-abstraction/pimlico) for more guidance!** - - diff --git a/examples/privy-next-session-keys/README.md b/examples/privy-next-session-keys/README.md index 660e22f..45d2ebd 100644 --- a/examples/privy-next-session-keys/README.md +++ b/examples/privy-next-session-keys/README.md @@ -2,10 +2,6 @@ This example showcases how to integrate Privy's embedded wallets with ZeroDev session keys for automated transaction execution. -## Live Demo - -[View Demo]({{DEPLOY_URL}}) - ## Getting Started ### 1. Clone the Project diff --git a/examples/privy-next-smart-wallets/README.md b/examples/privy-next-smart-wallets/README.md index 9582e3b..faba40b 100644 --- a/examples/privy-next-smart-wallets/README.md +++ b/examples/privy-next-smart-wallets/README.md @@ -4,11 +4,12 @@ This example showcases how to get started using Multi-Chain EVM smart wallets wi ## Live Demo -[View Demo]({{DEPLOY_URL}}) +[View Demo](https://smart-wallets-starter.vercel.app/) ## Quick Start ### 0. Dashboard set up + - Create an app in the Privy dashboard [here](https://dashboard.privy.io/) - Configure the dashboard to enable smart wallets [here](https://docs.privy.io/wallets/using-wallets/evm-smart-wallets/setup/configuring-dashboard) @@ -64,6 +65,7 @@ Open [http://localhost:3000](http://localhost:3000) in your browser to see the a Configure your app to use smart wallets by wrapping your PrivyProvider with the SmartWalletsProvider. [`src/providers/providers.tsx`](./src/providers/providers.tsx) + ```tsx import { PrivyProvider } from "@privy-io/react-auth"; import { SmartWalletsProvider } from "@privy-io/react-auth/smart-wallets"; @@ -71,9 +73,7 @@ import { SmartWalletsProvider } from "@privy-io/react-auth/smart-wallets"; export default function Providers({ children }: { children: React.ReactNode }) { return ( - - {children} - + {children} ); } @@ -81,16 +81,16 @@ export default function Providers({ children }: { children: React.ReactNode }) { ### 2. Create Smart Wallets -Create embedded wallets, smart wallets are automatically provisioned when the SmartWalletsProvider is configured. +Create embedded wallets, smart wallets are automatically provisioned when the SmartWalletsProvider is configured. [`src/components/sections/create-a-wallet.tsx`](./src/components/sections/create-a-wallet.tsx) + ```tsx import { useCreateWallet } from "@privy-io/react-auth"; const { createWallet: createWalletEvm } = useCreateWallet(); // Create Ethereum embedded wallet (smart wallet created automatically!) createWalletEvm({ createAdditional: true }); - ``` ### 3. Send Batch Transactions @@ -98,6 +98,7 @@ createWalletEvm({ createAdditional: true }); Send batch transactions, sign messages and typed data, manage session signers, and switch between chains using smart wallets. [`src/components/sections/evm-smart-wallet-actions.tsx`](./src/components/sections/evm-smart-wallet-actions.tsx) + ```tsx import { useSmartWallets } from "@privy-io/react-auth/smart-wallets"; import { encodeFunctionData, erc20Abi } from "viem"; @@ -119,7 +120,7 @@ client.sendTransaction({ to: USDC_ADDRESS, data: encodeFunctionData({ abi: erc20Abi, - functionName: "transfer", + functionName: "transfer", args: [recipientAddress, amount], }), }, @@ -133,4 +134,4 @@ client.sendTransaction({ - [Privy Documentation](https://docs.privy.io) - [React SDK](https://www.npmjs.com/package/@privy-io/react-auth) - [Smart Wallets Guide](https://docs.privy.io/guide/react/smart-wallets) -- [Session Keys Guide](https://docs.privy.io/guide/react/recipes/misc/session-keys) \ No newline at end of file +- [Session Keys Guide](https://docs.privy.io/guide/react/recipes/misc/session-keys) diff --git a/examples/privy-next-solana/README.md b/examples/privy-next-solana/README.md index ee768cb..e4a9d97 100644 --- a/examples/privy-next-solana/README.md +++ b/examples/privy-next-solana/README.md @@ -2,10 +2,6 @@ This example showcases how to get started using Solana with Privy's React SDK inside a Next.js application. -## Live Demo - -[View Demo]({{DEPLOY_URL}}) - ## Quick Start ### 1. Clone the Project @@ -59,8 +55,9 @@ Open [http://localhost:3000](http://localhost:3000) in your browser to see the a Login or sign up using Privy's pre-built modals. [`src/app/page.tsx`](./src/app/page.tsx) + ```tsx -import { usePrivy } from "@privy-io/react-auth"; +import { usePrivy } from "@privy-io/react-auth"; const { login } = usePrivy(); login(); ``` @@ -70,6 +67,7 @@ login(); Programmatically create a Solana embedded wallet for your user. Wallets can also be automatically created on login by configuring your PrivyProvider, learn more [here](https://docs.privy.io/basics/react/advanced/automatic-wallet-creation). [`src/components/sections/create-a-wallet.tsx`](./src/components/sections/create-a-wallet.tsx) + ```tsx import { useSolanaWallets } from "@privy-io/react-auth"; const { createWallet } = useSolanaWallets(); @@ -81,6 +79,7 @@ createWallet(); Send a transaction on Solana by either prompting your users for confirmation, or abstract away confirmations by enabling headless signing. [`src/components/sections/wallet-actions.tsx`](./src/components/sections/wallet-actions.tsx) + ```tsx import { useSendTransaction } from "@privy-io/react-auth/solana"; const { sendTransaction } = useSendTransaction(); @@ -95,4 +94,4 @@ const receipt = await sendTransaction({ - [Privy Dashboard](https://dashboard.privy.io) - [Privy Documentation](https://docs.privy.io) -- [React SDK](https://www.npmjs.com/package/@privy-io/react-auth) \ No newline at end of file +- [React SDK](https://www.npmjs.com/package/@privy-io/react-auth) diff --git a/examples/privy-next-wagmi/README.md b/examples/privy-next-wagmi/README.md index 72c61a9..00a0184 100644 --- a/examples/privy-next-wagmi/README.md +++ b/examples/privy-next-wagmi/README.md @@ -4,7 +4,7 @@ This example showcases how to get started using Wagmi with Privy's React SDK ins ## Live Demo -[View Demo]({{DEPLOY_URL}}) +[View Demo](wagmi-app.vercel.app) ## Quick Start @@ -59,8 +59,9 @@ Open [http://localhost:3000](http://localhost:3000) in your browser to see the a Login or sign up using Privy's pre-built modals. [`src/app/page.tsx`](./src/app/page.tsx) + ```tsx -import { usePrivy } from "@privy-io/react-auth"; +import { usePrivy } from "@privy-io/react-auth"; const { login } = usePrivy(); login(); ``` @@ -70,6 +71,7 @@ login(); Programmatically create an Ethereum embedded wallet for your user. Wallets can also be automatically created on login by configuring your PrivyProvider, learn more [here](https://docs.privy.io/basics/react/advanced/automatic-wallet-creation). [`src/components/sections/create-a-wallet.tsx`](./src/components/sections/create-a-wallet.tsx) + ```tsx import { useCreateWallet } from "@privy-io/react-auth"; const { createWallet } = useCreateWallet(); @@ -81,6 +83,7 @@ createWallet({ createAdditional: true }); Use Wagmi hooks to interact with Ethereum wallets seamlessly. Wagmi provides type-safe hooks that work with both Privy embedded wallets and externally connected wallets. [`src/components/sections/wagmi-wallet-actions.tsx`](./src/components/sections/wagmi-wallet-actions.tsx) + ```tsx import { useSendTransaction } from "wagmi"; import { useSetActiveWallet } from "@privy-io/wagmi"; @@ -102,4 +105,4 @@ await sendTransaction({ - [Privy Documentation](https://docs.privy.io) - [React SDK](https://www.npmjs.com/package/@privy-io/react-auth) - [Wagmi Documentation](https://wagmi.sh) -- [Privy Wagmi Connector](https://www.npmjs.com/package/@privy-io/wagmi) \ No newline at end of file +- [Privy Wagmi Connector](https://www.npmjs.com/package/@privy-io/wagmi) diff --git a/examples/privy-react-farcaster/README.md b/examples/privy-react-farcaster/README.md index e80e3ae..28a54c4 100644 --- a/examples/privy-react-farcaster/README.md +++ b/examples/privy-react-farcaster/README.md @@ -4,7 +4,7 @@ This example showcases how to get started using Farcaster social login and casti ## Live Demo -[View Demo]({{DEPLOY_URL}}) +[View Demo](farcaster-demo.vercel.app) ## Quick Start diff --git a/examples/privy-react-funding/README.md b/examples/privy-react-funding/README.md index 0f690be..0183791 100644 --- a/examples/privy-react-funding/README.md +++ b/examples/privy-react-funding/README.md @@ -2,13 +2,10 @@ This example showcases how to get started using Privy's native wallet funding flows inside a Next.js application. -## Live Demo - -[View Demo]({{DEPLOY_URL}}) - ## Quick Start ### 0. Dashboard setup + - Create an app in the Privy dashboard [here](https://dashboard.privy.io/) - Configure funding settings if needed [here](https://docs.privy.io/recipes/card-based-funding#funding-wallets-with-apple-pay-and-google-pay) @@ -63,8 +60,9 @@ Open [http://localhost:3000](http://localhost:3000) in your browser to see the a Login or sign up using Privy's pre-built modals. [`app/page.tsx`](./app/page.tsx) + ```tsx -import { usePrivy } from "@privy-io/react-auth"; +import { usePrivy } from "@privy-io/react-auth"; const { login } = usePrivy(); login(); ``` @@ -74,6 +72,7 @@ login(); Create embedded wallets for your users. Wallets can also be automatically created on login by configuring your PrivyProvider. [`lib/privy/LoginButton.tsx`](./lib/privy/LoginButton.tsx) + ```tsx import { useCreateWallet } from "@privy-io/react-auth"; const { createWallet } = useCreateWallet(); @@ -85,6 +84,7 @@ createWallet({ createAdditional: true }); Fund your wallet using a card, exchange, or external wallet. Privy has bridging integration out of the box powered by Relay. [`lib/privy/FundingButton.tsx`](./lib/privy/FundingButton.tsx) + ```tsx import { useFundWallet, useWallets } from "@privy-io/react-auth"; const { wallets } = useWallets(); @@ -97,4 +97,4 @@ fundWallet(wallets[0].address, { asset: "USDC", amount: "15" }); - [Privy Dashboard](https://dashboard.privy.io) - [Privy Documentation](https://docs.privy.io) - [React SDK](https://www.npmjs.com/package/@privy-io/react-auth) -- [Funding Guide](https://docs.privy.io/guide/react/recipes/misc/funding) \ No newline at end of file +- [Funding Guide](https://docs.privy.io/guide/react/recipes/misc/funding) diff --git a/privy-next-starter/README.md b/privy-next-starter/README.md index 8369c68..c723489 100644 --- a/privy-next-starter/README.md +++ b/privy-next-starter/README.md @@ -4,7 +4,7 @@ This example showcases how to get started using Privy's React SDK inside a Next. ## Live Demo -[View Demo]({{DEPLOY_URL}}) +[View Demo](https://create-next-app.privy.io/) ## Getting Started @@ -53,6 +53,7 @@ Open [http://localhost:3000](http://localhost:3000) in your browser to see the a Login or sign up using Privy's pre-built modals. [`src/app/page.tsx`](./src/app/page.tsx) + ```tsx import { usePrivy } from "@privy-io/react-auth"; const { login } = usePrivy(); @@ -64,13 +65,15 @@ login(); Programmatically create embedded wallets for multiple blockchains. Supports Ethereum, Solana, Bitcoin, and more. [`src/components/sections/create-a-wallet.tsx`](./src/components/sections/create-a-wallet.tsx) + ```tsx import { useCreateWallet, useSolanaWallets } from "@privy-io/react-auth"; import { useCreateWallet as useCreateWalletExtendedChains } from "@privy-io/react-auth/extended-chains"; const { createWallet: createWalletEvm } = useCreateWallet(); const { createWallet: createWalletSolana } = useSolanaWallets(); -const { createWallet: createWalletExtendedChains } = useCreateWalletExtendedChains(); +const { createWallet: createWalletExtendedChains } = + useCreateWalletExtendedChains(); // Create Ethereum wallet createWalletEvm({ createAdditional: true }); @@ -87,6 +90,7 @@ createWalletExtendedChains({ chainType: "bitcoin-segwit" }); Send transactions on both Ethereum and Solana with comprehensive wallet action support. [`src/components/sections/wallet-actions.tsx`](./src/components/sections/wallet-actions.tsx) + ```tsx import { useSendTransaction } from "@privy-io/react-auth"; import { useSendTransaction as useSendTransactionSolana } from "@privy-io/react-auth/solana"; diff --git a/privy-react-starter/README.md b/privy-react-starter/README.md index 3afca54..02aff43 100644 --- a/privy-react-starter/README.md +++ b/privy-react-starter/README.md @@ -2,6 +2,10 @@ This example showcases how to get started using Privy's React SDK inside a React + Vite application. +## Live Demo + +[View Demo](https://create-react-app.privy.io/) + ## Getting Started ### 1. Clone the Project @@ -50,6 +54,7 @@ Open [http://localhost:5173](http://localhost:5173) in your browser to see the a Login or sign up using Privy's pre-built modals. [`src/App.tsx`](./src/App.tsx) + ```tsx import { usePrivy } from "@privy-io/react-auth"; const { login } = usePrivy(); @@ -61,13 +66,15 @@ login(); Programmatically create embedded wallets for multiple blockchains. [`src/components/create-wallet-card.tsx`](./src/components/create-wallet-card.tsx) + ```tsx import { useCreateWallet, useSolanaWallets } from "@privy-io/react-auth"; import { useCreateWallet as useCreateWalletExtendedChains } from "@privy-io/react-auth/extended-chains"; const { createWallet: createWalletEvm } = useCreateWallet(); const { createWallet: createWalletSolana } = useSolanaWallets(); -const { createWallet: createWalletExtendedChains } = useCreateWalletExtendedChains(); +const { createWallet: createWalletExtendedChains } = + useCreateWalletExtendedChains(); // Create Ethereum wallet createWalletEvm({ createAdditional: true }); @@ -84,6 +91,7 @@ createWalletExtendedChains({ chainType: "bitcoin-segwit" }); Send transactions on both Ethereum and Solana. [`src/components/wallet-actions-card.tsx`](./src/components/wallet-actions-card.tsx) + ```tsx import { useSendTransaction } from "@privy-io/react-auth"; import { useSendTransaction as useSendTransactionSolana } from "@privy-io/react-auth/solana";