A Solana wallet adapter that supports internal wallet functionality.
npm install @blockchainbros/internal-wallet-adapter
import { InternalWalletAdapter } from '@blockchainbros/internal-wallet-adapter'
import { WalletProvider } from '@solana/wallet-adapter-react'
// Create an instance of the wallet adapter
const wallet = new InternalWalletAdapter()
// if using with SolanaProvider
export function SolanaProvider({ children }: { children: ReactNode }) {
const { cluster } = useCluster()
const wallets = useMemo(() => {
try {
const internalWallet = new InternalWalletAdapter()
internalWallet.name = "YOUR NAME"
internalWallet.icon = "/assets/your-icon.svg"
return [internalWallet]
} catch (error) {
return []
}
}, [])
// Use it with WalletProvider
function App() {
return (
<ConnectionProvider endpoint={endpoint}>
<WalletProvider wallets={wallets} onError={onError} autoConnect={true}>
<WalletModalProvider>{your app}</WalletModalProvider>
</WalletProvider>
</ConnectionProvider>
)
}
- Automatic connection
- Heartbeat
- Secure private key storage
- Wallet backup and recovery
- Support for both legacy and versioned transactions
- Message and transaction signing
- Private key export/import
-
connect()
: Connect to wallet -
disconnect()
: Disconnect from wallet -
backup()
: Backup wallet -
restore(backupData)
: Restore wallet from backup -
exportPrivateKey(format?)
: Export private key -
importPrivateKey(key, format?)
: Import private key
-
connect
: Triggered when wallet connects -
disconnect
: Triggered when wallet disconnects -
error
: Triggered on error
MIT