@privy-io/react-auth
Version:
React client for the Privy Auth API
2 lines (1 loc) • 5.32 kB
JavaScript
import{isWalletAdapterCompatibleStandardWallet as o}from"@solana/wallet-adapter-base";import{StandardWalletAdapter as e}from"@solana/wallet-standard-wallet-adapter-base";import{getWallets as r}from"@wallet-standard/app";import{ak as t,u as i,h as n,al as c,am as a,f as s,x as l,an as p,b as m,ao as h}from"./privy-provider-8kKbowq5.mjs";export{ap as useSendTransaction,aq as useSignMessage,L as useSolanaWallets}from"./privy-provider-8kKbowq5.mjs";import{useCallback as d}from"react";import{u as I}from"./internal-context-D5bEplez.mjs";import{t as C}from"./useFundWallet-Lp53P4p6.mjs";export{u as useFundWallet}from"./useFundWallet-Lp53P4p6.mjs";import"react/jsx-runtime";import"mipd";import"react-device-detect";import"viem/utils";import"@privy-io/js-sdk-core";import"viem";import"uuid";import"jose";import"eventemitter3";import"@coinbase/wallet-sdk";import"@marsidev/react-turnstile";import"styled-components";import"tinycolor2";import"@heroicons/react/24/outline/DevicePhoneMobileIcon";import"@heroicons/react/24/outline/FingerPrintIcon";import"@heroicons/react/24/outline/PhoneIcon";import"@heroicons/react/24/outline/ShieldCheckIcon";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"@heroicons/react/24/outline/ChevronDownIcon";import"@heroicons/react/24/outline/CalendarIcon";import"@heroicons/react/24/outline/ExclamationTriangleIcon";import"@headlessui/react";import"@walletconnect/ethereum-provider";import"zustand";import"fast-password-entropy";import"secure-password-utilities";import"secure-password-utilities/wordlists";import"@heroicons/react/24/outline/UserCircleIcon";import"@heroicons/react/24/outline/EnvelopeIcon";import"@heroicons/react/20/solid/CheckIcon";import"@heroicons/react/24/outline/WalletIcon";import"@heroicons/react/24/outline/CheckIcon";import"@heroicons/react/24/outline/Square2StackIcon";import"@heroicons/react/24/outline/ExclamationCircleIcon";import"@heroicons/react/24/outline/ArrowTopRightOnSquareIcon";import"@heroicons/react/24/solid/DocumentCheckIcon";import"@heroicons/react/24/solid/XCircleIcon";import"@heroicons/react/24/solid/CheckCircleIcon";import"qrcode";import"@heroicons/react/24/outline/ChevronRightIcon";import"@heroicons/react/24/outline/LockClosedIcon";import"@heroicons/react/24/outline/PencilSquareIcon";import"@heroicons/react/24/outline/ArrowPathIcon";import"@heroicons/react/24/outline/EyeIcon";import"@heroicons/react/24/outline/EyeSlashIcon";import"@heroicons/react/24/outline/KeyIcon";import"@heroicons/react/24/outline/ArrowDownTrayIcon";import"@heroicons/react/24/outline/ClipboardDocumentCheckIcon";import"@heroicons/react/24/outline/DocumentDuplicateIcon";import"@heroicons/react/24/solid/LockClosedIcon";import"@heroicons/react/24/outline/CheckCircleIcon";import"@heroicons/react/24/outline/InformationCircleIcon";import"@heroicons/react/24/outline/CreditCardIcon";import"@heroicons/react/24/outline/QrCodeIcon";import"@heroicons/react/24/solid/ArrowsRightLeftIcon";import"@heroicons/react/24/outline/GlobeAltIcon";import"ofetch";import"@heroicons/react/24/outline";import"@heroicons/react/24/outline/ClipboardDocumentIcon";import"@heroicons/react/24/outline/CloudArrowUpIcon";import"@heroicons/react/24/outline/NoSymbolIcon";import"@heroicons/react/24/outline/ClockIcon";import"@heroicons/react/24/outline/TrashIcon";import"@heroicons/react/24/solid/CheckBadgeIcon";import"@heroicons/react/24/solid/IdentificationIcon";import"@heroicons/react/24/outline/MinusCircleIcon";import"@heroicons/react/24/outline/ArrowRightEndOnRectangleIcon";import"@heroicons/react/24/solid/ShieldCheckIcon";import"js-cookie";import"@solana/web3.js";const g=o=>{let e,{get:i,on:n}=r(),c=o?.shouldAutoConnect??!0,a=[],s=[];function l(...o){s=(a=a.concat(...w(o))).map((o=>new t(o,c))),e?.(s)}function p(...o){s=(a=a.filter((e=>o.some((o=>e.wallet===o))))).map((o=>new t(o,c))),e?.(s)}let m=[n("register",l),n("unregister",p)];return s=(a=w(i())).map((o=>new t(o,c))),{_setOnConnectorsUpdated:o=>{e=o},onMount:()=>{m[0]||(m[0]=n("register",l)),m[1]||(m[1]=n("unregister",p))},onUnmount:()=>{let o=m.pop();for(;o;)o(),o=m.pop()},get:()=>s}};let w=r=>r.filter(o).map((o=>new e({wallet:o})));const v=()=>{let{getAccessToken:o,user:e}=i(),{refreshSessionAndUser:r,initializeWalletProxy:t}=I(),a=n();return{importWallet:d((({privateKey:i})=>c({getAccessToken:o,user:e,initializeWalletProxy:t,refreshSessionAndUser:r,emitPrivyEvent:a},{privateKey:i,chainType:"solana"})),[e,o,r,t,a])}};var y=()=>a(C);function f(o){let e=s(),{getAccessToken:r,user:t}=l(),{setModalData:i}=p(),{isHeadlessSigning:c,openModal:a,walletProxy:u,recoverPrimaryWallet:d,privy:C}=I(),g=n();return m("signSolanaTransaction",o),{signTransaction:async({transaction:o,connection:n,uiOptions:s,transactionOptions:l,address:p})=>{let{signedTransaction:m}=await h({privy:C,appConfig:e,getAccessToken:r,isHeadlessSigning:c,emitPrivyEvent:g,setModalData:i,openModal:a,walletProxy:u,user:t,recoverPrimaryWallet:d},{transaction:o,connection:n,transactionOptions:l,uiOptions:s,address:p,signOnly:!0});return m}}}export{t as SolanaAdapterConnector,g as toSolanaWalletConnectors,v as useImportWallet,f as useSignTransaction,y as useSolanaFundingPlugin};