edsadapter
v0.0.14
Published
React wallet connect adapter for Endless-related wallets and common EVM/Solana/Tron wallet flows.
Readme
edsadapter
React wallet connect adapter for Endless-related wallets and common EVM/Solana/Tron wallet flows.
Install
npm install edsadapterThis package expects these peer dependencies to already exist in the host app:
reactreact-dom@chakra-ui/react@chakra-ui/anatomy@emotion/reactzustandethers@solana/web3.js@endlesslab/endless-ts-sdk@endlesslab/endless-web3-sdk@luffalab/luffa-endless-sdkis-mobileqrcode.react
Usage
Import the package stylesheet once in your app entry:
import 'edsadapter/style.css';Wrap your app with ConnectProvider:
import 'edsadapter/style.css';
import { ConnectProvider } from 'edsadapter';
export function App() {
return (
<ConnectProvider network="dev">
<YourPage />
</ConnectProvider>
);
}Open the wallet modal when needed:
import { showDetailModal } from 'edsadapter';
function ConnectButton() {
const open = () => {
showDetailModal({
logo: '/logo.png',
disableWallets: ['OKX Wallet'],
});
};
return <button onClick={open}>Connect wallet</button>;
}Read connection state with useWallet:
import { useWallet } from 'edsadapter';
function WalletInfo() {
const { account, chainId, disconnect, walletIcon } = useWallet();
return (
<div>
<img src={walletIcon} alt="" width={24} height={24} />
<div>account: {account || '-'}</div>
<div>chainId: {chainId || '-'}</div>
<button onClick={disconnect}>Disconnect</button>
</div>
);
}API
ConnectProvider
Props:
network: 'dev' | 'prod'children: React.ReactNode
showDetailModal
Props:
logo: stringdisableWallets?: string[]
Returns:
{ remove: () => void }
useWallet
Returns:
provideraccountchainIdwalletIcondisconnect
Notes
- Do not import from internal build files like
edsadapter/dist/index.esm.js. Import fromedsadapteronly. - If the host app uses Vite, clear stale cache after upgrading the package, especially
node_modules/.vite. - The package publishes both
ESMandCJSentries.react,react-dom, andreact-dom/clientstay external and must come from the host app.
