SessionProvider.tsx 737 B

1234567891011121314151617181920212223242526
  1. import { SessionWalletProvider, useSessionKeyManager } from "@magicblock-labs/gum-react-sdk"
  2. import {
  3. AnchorWallet,
  4. useAnchorWallet,
  5. useConnection,
  6. } from "@solana/wallet-adapter-react"
  7. interface SessionProviderProps {
  8. children: React.ReactNode
  9. }
  10. const SessionProvider: React.FC<SessionProviderProps> = ({ children }) => {
  11. const { connection } = useConnection()
  12. const anchorWallet = useAnchorWallet() as AnchorWallet
  13. const cluster = "devnet" // or "mainnet-beta", "testnet", "localnet"
  14. const sessionWallet = useSessionKeyManager(anchorWallet, connection, cluster)
  15. return (
  16. <SessionWalletProvider sessionWallet={sessionWallet}>
  17. {children}
  18. </SessionWalletProvider>
  19. )
  20. }
  21. export default SessionProvider