UNPKG

@reown/appkit-utils

Version:

The full stack toolkit to build onchain app UX.

80 lines 2.68 kB
export const DEFAULT_METHODS = { solana: [ 'solana_signMessage', 'solana_signTransaction', 'solana_requestAccounts', 'solana_getAccounts', 'solana_signAllTransactions', 'solana_signAndSendTransaction' ], eip155: [ 'eth_accounts', 'eth_requestAccounts', 'eth_sendRawTransaction', 'eth_sign', 'eth_signTransaction', 'eth_signTypedData', 'eth_signTypedData_v3', 'eth_signTypedData_v4', 'eth_sendTransaction', 'personal_sign', 'wallet_switchEthereumChain', 'wallet_addEthereumChain', 'wallet_getPermissions', 'wallet_requestPermissions', 'wallet_registerOnboarding', 'wallet_watchAsset', 'wallet_scanQRCode', 'wallet_getCallsStatus', 'wallet_showCallsStatus', 'wallet_sendCalls', 'wallet_getCapabilities', 'wallet_grantPermissions', 'wallet_revokePermissions', 'wallet_getAssets' ], bip122: ['sendTransfer', 'signMessage', 'signPsbt', 'getAccountAddresses'] }; const solanaChainIds = { mainnet: '5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp', deprecatedMainnet: '4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZ', devnet: 'EtWTRABZaYq6iMfeYKouRu166VU2xqa1', deprecatedDevnet: '8E9rvCKLFQia2Y35HXjjpWzj8weVo44K' }; export function getMethodsByChainNamespace(chainNamespace) { return DEFAULT_METHODS[chainNamespace] || []; } export function createDefaultNamespace(chainNamespace) { return { methods: getMethodsByChainNamespace(chainNamespace), events: ['accountsChanged', 'chainChanged'], chains: [], rpcMap: {} }; } export function createNamespaces(caipNetworks) { return caipNetworks.reduce((acc, chain) => { const { id, chainNamespace, rpcUrls } = chain; const rpcUrl = rpcUrls.default.http[0]; if (!acc[chainNamespace]) { acc[chainNamespace] = createDefaultNamespace(chainNamespace); } const caipNetworkId = `${chainNamespace}:${id}`; const namespace = acc[chainNamespace]; namespace?.chains.push(caipNetworkId); switch (caipNetworkId) { case solanaChainIds.mainnet: namespace.chains.push(solanaChainIds.deprecatedMainnet); break; case solanaChainIds.devnet: namespace.chains.push(solanaChainIds.deprecatedDevnet); break; default: } if (namespace?.rpcMap && rpcUrl) { namespace.rpcMap[id] = rpcUrl; } return acc; }, {}); } //# sourceMappingURL=WCNamespaceUtil.js.map