UNPKG

@web3-onboard/cede-store

Version:

cede.store SDK wallet module for connecting to Web3-Onboard. Web3-Onboard makes it simple to connect Ethereum hardware and software wallets to your dapp. Features standardised spec compliant web3 providers for all supported wallets, framework agnostic mod

44 lines (43 loc) 1.95 kB
import { detectCedeProvider } from '@cedelabs/providers'; import { createDownloadMessage, createEIP1193Provider } from '@web3-onboard/common'; function cedeStoreWallet() { if (typeof window === 'undefined') return () => null; return () => ({ label: 'cede.store', injectedNamespace: 'cede', checkProviderIdentity: () => window.cede, getIcon: async () => (await import('./icon.js')).default, getInterface: async () => { const provider = await detectCedeProvider(); if (!provider) { throw new Error(createDownloadMessage('cede.store', 'https://cede.store')); } // handle disconnect provider.once('lock', () => { provider.emit('accountsChanged', []); }); return Promise.resolve({ provider: createEIP1193Provider(provider, { eth_requestAccounts: async () => { const accounts = await provider.request({ method: 'connect' }); if (!accounts.length) { return []; } const activeVault = accounts.find(account => account.isActive); return [(activeVault === null || activeVault === void 0 ? void 0 : activeVault.name) || accounts[0].name]; }, eth_chainId: () => Promise.resolve('0x1'), // cede.store doesn't support chains, but we have to provide a value to complete the connection wallet_switchEthereumChain: null, wallet_addEthereumChain: null, eth_getBalance: () => Promise.resolve('0x0'), eth_selectAccounts: null }) }); }, platforms: ['desktop'] }); } export default cedeStoreWallet;