From ac25da66ca00ae8bf7de570ac4e121da1be2ac90 Mon Sep 17 00:00:00 2001 From: Tommaso Casaburi Date: Fri, 17 Jul 2026 15:22:52 +0700 Subject: [PATCH 1/6] fix(addresses): remove unsupported address providers --- CHANGELOG.md | 5 -- public/llms-full.txt | 3 - src/components/topbar/topbar.tsx | 2 +- src/lib/utils/account-import-utils.test.ts | 57 +++++++++++++++++++ src/lib/utils/account-import-utils.ts | 41 ++++++++----- src/lib/utils/chain-provider-utils.ts | 11 ++++ .../legacy-default-subscriptions.test.ts | 20 +++++-- src/lib/utils/legacy-default-subscriptions.ts | 18 +++--- src/views/about/about.tsx | 4 -- .../community-settings/community-settings.tsx | 5 +- .../address-settings/address-settings.tsx | 16 +----- .../advanced-settings/advanced-settings.tsx | 25 ++------ .../wallet-settings/wallet-settings.tsx | 2 +- 13 files changed, 132 insertions(+), 77 deletions(-) create mode 100644 src/lib/utils/account-import-utils.test.ts create mode 100644 src/lib/utils/chain-provider-utils.ts diff --git a/CHANGELOG.md b/CHANGELOG.md index ce68ff9b..96b13659 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -47,7 +47,6 @@ ### Bug Fixes * **account editor:** page reload was missing when saving account edit, as well as auto navigate back to settings ([b6ee58f](https://github.com/plebbit/seedit/commit/b6ee58fe0a4872c2421f32500265a636d529b346)) -* correct SNS v1 URLs ([f863aab](https://github.com/plebbit/seedit/commit/f863aab91209b009f9d25db5d2d29fe65c1fe1f5)) * **embeds:** make iframe width fix truly Safari-specific ([1badab4](https://github.com/plebbit/seedit/commit/1badab4a68e00eb916a5672ee63e89d5a16232a4)) * **embeds:** Safari iframe sizing in media previews ([c983de5](https://github.com/plebbit/seedit/commit/c983de555032e0a9760c0344a98054c5800a32cb)) * implement bidirectional sync between subplebbit form and JSON editor ([3d29e1f](https://github.com/plebbit/seedit/commit/3d29e1fa7fecfec5af1ae583021e9bc25d2089fb)) @@ -723,14 +722,12 @@ ### Features -* **address settings:** update setting for sol addresses, with guide on how to set up ([430c597](https://github.com/plebbit/seedit/commit/430c5970761e3e3fd0af03ce230a543cea6be3ab)) * **context:** allow any number as post context, always showing the top level reply ([b9d050c](https://github.com/plebbit/seedit/commit/b9d050c87c45b2e1c541a4ac45e7f23b6e5490f7)) * **mod menu:** community moderators can ban their users ([22beb4e](https://github.com/plebbit/seedit/commit/22beb4e0ea6a2c300422fa8a21b5f230af985ec0)) * **post page:** hide reply form and display 'loading comments...' while the post is loading ([a068691](https://github.com/plebbit/seedit/commit/a06869196d236f51ab8bfffae46bdf08aefd95df)) * **scripts:** add old versions to folders e.g. seedit.eth.limo/0.1.1 ([a384e7b](https://github.com/plebbit/seedit/commit/a384e7b845f6a6071f7cf0cfab3347d82c8d2528)) * **settings:** add link to nft whitelist ([f174602](https://github.com/plebbit/seedit/commit/f174602c81bab926ece3adb45c3fd14338c2f953)) * **settings:** users can add crypto wallets to their plebbit account ([75b25e7](https://github.com/plebbit/seedit/commit/75b25e74cd6dba73aae7b3385669c5a80b2c2c75)) -* **subplebbit settings:** add info on how to set up .sol crypto domain as sub address ([5f54bbe](https://github.com/plebbit/seedit/commit/5f54bbe07ad6bf5acd8c6ff02da3e976a0730be0)) @@ -1341,5 +1338,3 @@ * Revert "style(header): remove wiki button, because of inconsistent UI and not enough space" ([e940379](https://github.com/plebbit/seedit/commit/e94037990f6ed35b2ed6cf3fc3ab4894904892c2)) * Revert "style: convert all css modules to scss" ([f1dfafe](https://github.com/plebbit/seedit/commit/f1dfafeb5e7d8b0fa6af273639e18181cc3236c8)) - - diff --git a/public/llms-full.txt b/public/llms-full.txt index d8ab72eb..5aac6f1d 100644 --- a/public/llms-full.txt +++ b/public/llms-full.txt @@ -1011,7 +1011,6 @@ Source: https://github.com/bitsocialnet/seedit/blob/master/CHANGELOG.md ### Bug Fixes * **account editor:** page reload was missing when saving account edit, as well as auto navigate back to settings ([b6ee58f](https://github.com/plebbit/seedit/commit/b6ee58fe0a4872c2421f32500265a636d529b346)) -* correct SNS v1 URLs ([f863aab](https://github.com/plebbit/seedit/commit/f863aab91209b009f9d25db5d2d29fe65c1fe1f5)) * **embeds:** make iframe width fix truly Safari-specific ([1badab4](https://github.com/plebbit/seedit/commit/1badab4a68e00eb916a5672ee63e89d5a16232a4)) * **embeds:** Safari iframe sizing in media previews ([c983de5](https://github.com/plebbit/seedit/commit/c983de555032e0a9760c0344a98054c5800a32cb)) * implement bidirectional sync between subplebbit form and JSON editor ([3d29e1f](https://github.com/plebbit/seedit/commit/3d29e1fa7fecfec5af1ae583021e9bc25d2089fb)) @@ -1687,14 +1686,12 @@ Source: https://github.com/bitsocialnet/seedit/blob/master/CHANGELOG.md ### Features -* **address settings:** update setting for sol addresses, with guide on how to set up ([430c597](https://github.com/plebbit/seedit/commit/430c5970761e3e3fd0af03ce230a543cea6be3ab)) * **context:** allow any number as post context, always showing the top level reply ([b9d050c](https://github.com/plebbit/seedit/commit/b9d050c87c45b2e1c541a4ac45e7f23b6e5490f7)) * **mod menu:** community moderators can ban their users ([22beb4e](https://github.com/plebbit/seedit/commit/22beb4e0ea6a2c300422fa8a21b5f230af985ec0)) * **post page:** hide reply form and display 'loading comments...' while the post is loading ([a068691](https://github.com/plebbit/seedit/commit/a06869196d236f51ab8bfffae46bdf08aefd95df)) * **scripts:** add old versions to folders e.g. seedit.eth.limo/0.1.1 ([a384e7b](https://github.com/plebbit/seedit/commit/a384e7b845f6a6071f7cf0cfab3347d82c8d2528)) * **settings:** add link to nft whitelist ([f174602](https://github.com/plebbit/seedit/commit/f174602c81bab926ece3adb45c3fd14338c2f953)) * **settings:** users can add crypto wallets to their plebbit account ([75b25e7](https://github.com/plebbit/seedit/commit/75b25e74cd6dba73aae7b3385669c5a80b2c2c75)) -* **subplebbit settings:** add info on how to set up .sol crypto domain as sub address ([5f54bbe](https://github.com/plebbit/seedit/commit/5f54bbe07ad6bf5acd8c6ff02da3e976a0730be0)) diff --git a/src/components/topbar/topbar.tsx b/src/components/topbar/topbar.tsx index f09fe105..c44b021e 100644 --- a/src/components/topbar/topbar.tsx +++ b/src/components/topbar/topbar.tsx @@ -18,7 +18,7 @@ const getSubscriptionDisplayName = (subscription: string) => { return routeSegment; } const shortAddress = getShortAddress(subscription); - return shortAddress.includes('.eth') ? shortAddress.slice(0, -4) : shortAddress.includes('.sol') ? shortAddress.slice(0, -4) : shortAddress; + return shortAddress.includes('.eth') ? shortAddress.slice(0, -4) : shortAddress; }; const CommunitiesDropdown = () => { diff --git a/src/lib/utils/account-import-utils.test.ts b/src/lib/utils/account-import-utils.test.ts new file mode 100644 index 00000000..cb4a1738 --- /dev/null +++ b/src/lib/utils/account-import-utils.test.ts @@ -0,0 +1,57 @@ +import { describe, expect, it } from 'vitest'; +import { getDefaultElectronConfig, getDefaultWebConfig, processImportedAccount } from './account-import-utils'; + +describe('account import PKC options', () => { + it('includes only supported chain providers in platform defaults', () => { + expect(Object.keys(getDefaultWebConfig().chainProviders ?? {})).toEqual(['eth', 'avax', 'matic']); + expect(Object.keys(getDefaultElectronConfig().chainProviders ?? {})).toEqual(['eth', 'avax', 'matic']); + }); + + it('keeps only supported providers from current and legacy locations', () => { + const importedAccount = { + account: { + chainProviders: { + eth: { urls: ['https://eth.example'], chainId: 1 }, + unknown: { urls: ['https://unknown.example'], chainId: 123 }, + }, + pkcOptions: { + pubsubKuboRpcClientsOptions: ['https://pubsub.example'], + chainProviders: { + avax: { urls: ['https://avax.example'], chainId: 43114 }, + unknown: { urls: ['https://legacy-unknown.example'], chainId: 123 }, + }, + }, + }, + }; + + const result = JSON.parse(processImportedAccount(JSON.stringify(importedAccount), false)); + + expect(result.account.chainProviders).toEqual({ + eth: { urls: ['https://eth.example'], chainId: 1 }, + }); + expect(result.account.pkcOptions.chainProviders).toEqual({ + avax: { urls: ['https://avax.example'], chainId: 43114 }, + }); + }); + + it('preserves supported provider overrides when import replaces transport options with platform defaults', () => { + const importedAccount = { + account: { + pkcOptions: { + pubsubKuboRpcClientsOptions: ['https://pubsub.example'], + chainProviders: { + matic: { urls: ['https://matic.example'], chainId: 137 }, + }, + }, + }, + }; + + const result = JSON.parse(processImportedAccount(JSON.stringify(importedAccount), true)); + + expect(result.account.pkcOptions.pkcRpcClientsOptions).toEqual(['ws://localhost:9138']); + expect(result.account.pkcOptions.chainProviders).toMatchObject({ + eth: { urls: ['ethers.js', 'https://ethrpc.xyz', 'viem'], chainId: 1 }, + matic: { urls: ['https://matic.example'], chainId: 137 }, + }); + }); +}); diff --git a/src/lib/utils/account-import-utils.ts b/src/lib/utils/account-import-utils.ts index 56888528..9f1d25f9 100644 --- a/src/lib/utils/account-import-utils.ts +++ b/src/lib/utils/account-import-utils.ts @@ -1,3 +1,5 @@ +import { getSupportedChainProviders } from './chain-provider-utils'; + interface PkcOptions { ipfsGatewayUrls?: string[]; pubsubKuboRpcClientsOptions?: string[]; @@ -15,6 +17,7 @@ interface PkcOptions { interface ImportedAccount { account?: { + chainProviders?: PkcOptions['chainProviders']; pkcOptions?: PkcOptions; [key: string]: any; }; @@ -39,10 +42,6 @@ export const getDefaultWebConfig = (): PkcOptions => ({ urls: ['https://polygon-rpc.com'], chainId: 137, }, - sol: { - urls: ['https://solrpc.xyz'], - chainId: 1, - }, }, resolveAuthorAddresses: false, validatePages: false, @@ -65,10 +64,6 @@ export const getDefaultElectronConfig = (): PkcOptions => ({ urls: ['https://polygon-rpc.com'], chainId: 137, }, - sol: { - urls: ['https://solrpc.xyz'], - chainId: 1, - }, }, resolveAuthorAddresses: false, validatePages: false, @@ -106,7 +101,23 @@ const hasLocalhostRpc = (options: PkcOptions): boolean => { * - Sets platform-appropriate defaults for missing configurations */ export const transformPkcOptionsForImport = (importedAccount: ImportedAccount, isElectron: boolean): PkcOptions => { - const currentOptions = importedAccount.account?.pkcOptions || {}; + const importedOptions = importedAccount.account?.pkcOptions || {}; + const currentOptions = { + ...importedOptions, + chainProviders: getSupportedChainProviders(importedOptions.chainProviders), + }; + const getPlatformDefaults = () => { + const defaults = isElectron ? getDefaultElectronConfig() : getDefaultWebConfig(); + if (!currentOptions.chainProviders) return defaults; + + return { + ...defaults, + chainProviders: { + ...defaults.chainProviders, + ...currentOptions.chainProviders, + }, + }; + }; // Don't overwrite non-localhost RPC configurations if (hasNonLocalhostRpc(currentOptions)) { @@ -116,17 +127,17 @@ export const transformPkcOptionsForImport = (importedAccount: ImportedAccount, i if (isElectron) { // On electron: if account has pubsub providers, replace with localhost RPC if (hasPubsubProviders(currentOptions)) { - return getDefaultElectronConfig(); + return getPlatformDefaults(); } // If already has localhost RPC or no providers, use electron defaults - return (currentOptions.pkcRpcClientsOptions?.length ?? 0) > 0 ? currentOptions : getDefaultElectronConfig(); + return (currentOptions.pkcRpcClientsOptions?.length ?? 0) > 0 ? currentOptions : getPlatformDefaults(); } else { // On web: if account has localhost RPC, replace with pubsub providers if (hasLocalhostRpc(currentOptions)) { - return getDefaultWebConfig(); + return getPlatformDefaults(); } // If no RPC or has pubsub providers, use web defaults - return (currentOptions.pubsubKuboRpcClientsOptions?.length ?? 0) > 0 ? currentOptions : getDefaultWebConfig(); + return (currentOptions.pubsubKuboRpcClientsOptions?.length ?? 0) > 0 ? currentOptions : getPlatformDefaults(); } }; @@ -148,6 +159,10 @@ export const processImportedAccount = (accountJson: string, isElectron: boolean) importedAccount.account = {}; } + if (importedAccount.account.chainProviders) { + importedAccount.account.chainProviders = getSupportedChainProviders(importedAccount.account.chainProviders); + } + // Support accounts exported by older versions that used the legacy field name if (!importedAccount.account.pkcOptions && importedAccount.account.plebbitOptions) { importedAccount.account.pkcOptions = importedAccount.account.plebbitOptions; diff --git a/src/lib/utils/chain-provider-utils.ts b/src/lib/utils/chain-provider-utils.ts new file mode 100644 index 00000000..773c50d4 --- /dev/null +++ b/src/lib/utils/chain-provider-utils.ts @@ -0,0 +1,11 @@ +const SUPPORTED_CHAIN_PROVIDER_TICKERS: ReadonlySet = new Set(['eth', 'matic', 'avax']); + +export const getSupportedChainProviders = (chainProviders: Record | undefined): Record | undefined => { + if (!chainProviders) return undefined; + + const supportedChainProviders: Record = {}; + for (const [ticker, provider] of Object.entries(chainProviders)) { + if (SUPPORTED_CHAIN_PROVIDER_TICKERS.has(ticker)) supportedChainProviders[ticker] = provider; + } + return supportedChainProviders; +}; diff --git a/src/lib/utils/legacy-default-subscriptions.test.ts b/src/lib/utils/legacy-default-subscriptions.test.ts index ea1225d6..d755f82b 100644 --- a/src/lib/utils/legacy-default-subscriptions.test.ts +++ b/src/lib/utils/legacy-default-subscriptions.test.ts @@ -24,9 +24,9 @@ describe('seedit starter community snapshot', () => { describe('computeAddressCanonicalSubscriptionMigration', () => { it('maps only the directory codes actually present and preserves manual-address order', () => { - const result = computeAddressCanonicalSubscriptionMigration(['first.bso', 'memes', 'middle.eth', 'aww', 'last.sol']); + const result = computeAddressCanonicalSubscriptionMigration(['first.bso', 'memes', 'middle.eth', 'aww', 'last.bso']); - expect(result.next).toEqual(['first.bso', 'memes-posting.bso', 'middle.eth', 'aww-posting.bso', 'last.sol']); + expect(result.next).toEqual(['first.bso', 'memes-posting.bso', 'middle.eth', 'aww-posting.bso', 'last.bso']); expect(result.replacedDirectoryCodes).toEqual([ { code: 'memes', address: 'memes-posting.bso', sourceIndex: 1 }, { code: 'aww', address: 'aww-posting.bso', sourceIndex: 3 }, @@ -79,9 +79,9 @@ describe('computeAddressCanonicalSubscriptionMigration', () => { }); it('preserves unrelated addresses while replacing a legacy cohort with the starter set', () => { - const result = computeAddressCanonicalSubscriptionMigration(['manual-before.bso', 'plebtoken.eth', 'manual-after.sol', '💩posting.eth']); + const result = computeAddressCanonicalSubscriptionMigration(['manual-before.bso', 'plebtoken.eth', 'manual-after.bso', '💩posting.eth']); - expect(result.next).toEqual(['manual-before.bso', 'manual-after.sol', ...STARTER_COMMUNITY_ADDRESSES]); + expect(result.next).toEqual(['manual-before.bso', 'manual-after.bso', ...STARTER_COMMUNITY_ADDRESSES]); expect(result.removed).toEqual(['plebtoken.eth', '💩posting.eth']); }); @@ -109,8 +109,18 @@ describe('computeAddressCanonicalSubscriptionMigration', () => { expect(computeAddressCanonicalSubscriptionMigration(undefined)).toMatchObject({ next: [], changed: false, added: [], removed: [] }); }); + it('removes unsupported named addresses without changing supported direct addresses', () => { + const publicKey = '12D3KooWQmV9xN1wJ5rL8hP7dZ6cB4sT2yF3gK9aE1uR'; + const result = computeAddressCanonicalSubscriptionMigration(['manual.bso', 'retired.example', publicKey]); + + expect(result.next).toEqual(['manual.bso', publicKey]); + expect(result.removed).toEqual(['retired.example']); + expect(result.addedStarterAddresses).toEqual([]); + expect(result.changed).toBe(true); + }); + it('does not touch addresses that only resemble retired defaults or codes', () => { - const subscriptions = ['plebtoken.eth.mycopy', 'notplebtoken.eth', 'memes.bso', 'MEMES']; + const subscriptions = ['plebtoken-copy.eth', 'notplebtoken.eth', 'memes.bso', 'MEMES']; const result = computeAddressCanonicalSubscriptionMigration(subscriptions); expect(result.next).toEqual(subscriptions); diff --git a/src/lib/utils/legacy-default-subscriptions.ts b/src/lib/utils/legacy-default-subscriptions.ts index bcf4897f..b53c324f 100644 --- a/src/lib/utils/legacy-default-subscriptions.ts +++ b/src/lib/utils/legacy-default-subscriptions.ts @@ -34,10 +34,8 @@ export const LEGACY_DEFAULT_SUBSCRIPTIONS = [ 'plebmusic.eth', 'videos-livestreams-podcasts.eth', 'weaponized-autism.eth', - 'vzgworld.sol', 'plebwhales.eth', 'pleblore.eth', - 'redditdeath.sol', 'fatpeoplehate.eth', 'reddit-screenshots.eth', 'censorship-watch.eth', @@ -57,13 +55,15 @@ export const LEGACY_DEFAULT_SUBSCRIPTIONS = [ 'bitcoinbrothers.eth', '💩posting.eth', 'plebbrothers.eth', - 'socomfy.sol', 'plebshelpingplebs.eth', 'decentralizedscam.eth', 'plebbitai.eth', ] as const; const LEGACY_DEFAULT_SUBSCRIPTIONS_SET: ReadonlySet = new Set(LEGACY_DEFAULT_SUBSCRIPTIONS); +const SUPPORTED_NAME_SUFFIXES = ['.eth', '.bso'] as const; + +const isSupportedSubscriptionAddress = (address: string): boolean => !address.includes('.') || SUPPORTED_NAME_SUFFIXES.some((suffix) => address.endsWith(suffix)); export interface DirectoryCodeReplacement { code: LegacyDirectoryCode; @@ -97,16 +97,18 @@ const getLegacyDirectoryAddress = (entry: string): string | undefined => { }; /** - * Convert persisted directory-code subscriptions to fixed community addresses. Direct - * address-only accounts are left untouched. Finding any retired multisub default migrates - * that legacy cohort to the complete starter set while preserving unrelated addresses. + * Convert persisted directory-code subscriptions to fixed community addresses and discard + * unsupported name aliases. Supported direct-address-only accounts are left untouched. + * Finding any retired multisub default migrates that legacy cohort to the complete starter + * set while preserving unrelated supported addresses. */ export const computeAddressCanonicalSubscriptionMigration = (subscriptions: string[] | undefined): AddressCanonicalMigrationResult => { const current = (subscriptions ?? []).filter((entry): entry is string => typeof entry === 'string'); const hasDirectoryCodes = current.some((entry) => getLegacyDirectoryAddress(entry) !== undefined); const hasLegacyDefaults = current.some((entry) => LEGACY_DEFAULT_SUBSCRIPTIONS_SET.has(entry)); + const hasUnsupportedNamedAddresses = current.some((entry) => !isSupportedSubscriptionAddress(entry)); - if (!hasDirectoryCodes && !hasLegacyDefaults) { + if (!hasDirectoryCodes && !hasLegacyDefaults && !hasUnsupportedNamedAddresses) { return { next: current, changed: false, @@ -140,7 +142,7 @@ export const computeAddressCanonicalSubscriptionMigration = (subscriptions: stri }; current.forEach((entry, sourceIndex) => { - if (LEGACY_DEFAULT_SUBSCRIPTIONS_SET.has(entry)) { + if (LEGACY_DEFAULT_SUBSCRIPTIONS_SET.has(entry) || !isSupportedSubscriptionAddress(entry)) { removedLegacyDefaults.push(entry); return; } diff --git a/src/views/about/about.tsx b/src/views/about/about.tsx index bee5008a..aaf9a470 100644 --- a/src/views/about/about.tsx +++ b/src/views/about/about.tsx @@ -133,10 +133,6 @@ export const FAQ = () => { name service such as{' '} ENS - {' '} - or{' '} - - SNS .

diff --git a/src/views/community-settings/community-settings.tsx b/src/views/community-settings/community-settings.tsx index 3b5a6c2a..1351726e 100644 --- a/src/views/community-settings/community-settings.tsx +++ b/src/views/community-settings/community-settings.tsx @@ -101,8 +101,9 @@ const Address = ({ isReadOnly = false }: { isReadOnly?: boolean }) => { const { address, setCommunitySettingsStore } = useCommunitySettingsStore(); const alertCryptoAddressInfo = () => { - alert(`steps to set a .eth community address:\n1. go to app.ens.domains and search the address\n2. once you own the address, go to its page, click on "records", then "edit records"\n3. add a new text record with name "subplebbit-address" and value: ${address}\n\n steps to set a .sol community address:\n1. go to v1.sns.id and search the address\n2. once you own the address, go to your profile, click the address menu "...", then "create subdomain"\n3. enter subdomain "subplebbit-address" and create\n4. go to subdomain, "content", change content to: ${address} - `); + alert( + `steps to set a .eth community address:\n1. go to app.ens.domains and search the address\n2. once you own the address, go to its page, click on "records", then "edit records"\n3. add a new text record with name "subplebbit-address" and value: ${address}`, + ); }; return ( diff --git a/src/views/settings/address-settings/address-settings.tsx b/src/views/settings/address-settings/address-settings.tsx index 38b5a57d..8e05ae6a 100644 --- a/src/views/settings/address-settings/address-settings.tsx +++ b/src/views/settings/address-settings/address-settings.tsx @@ -112,7 +112,7 @@ const AddressSettings = () => {
{
  • once you own the address, go to its page, click on "records", then "edit records"
  • add a new text record with name "plebbit-author-address" and value: {account?.signer?.address}
  • - steps to set a .sol user address: -
    -
      -
    1. - go to{' '} - - v1.sns.id - {' '} - and search the address -
    2. -
    3. once you own the address, go to your profile, click the address menu "...", then "create subdomain"
    4. -
    5. enter subdomain "plebbit-author-address" and create
    6. -
    7. go to subdomain, "content", change content to: {account?.signer?.address}
    8. -
    )} {savedCryptoAddress && {t('saved')}} diff --git a/src/views/settings/advanced-settings/advanced-settings.tsx b/src/views/settings/advanced-settings/advanced-settings.tsx index 326b5e14..dff3034c 100644 --- a/src/views/settings/advanced-settings/advanced-settings.tsx +++ b/src/views/settings/advanced-settings/advanced-settings.tsx @@ -4,6 +4,7 @@ import { useLocation } from 'react-router-dom'; import { setAccount, useAccount, usePkcRpcSettings } from '@bitsocial/bitsocial-react-hooks'; import { getBrowserGatewayPkcOptions, getBrowserPureP2PPkcOptions, setPureP2PBrowserPreference } from '../../../lib/p2p-browser-config'; import { canConfigureBrowserPureP2P, isBrowserPureP2PEnabled } from '../../../lib/p2p-runtime'; +import { getSupportedChainProviders } from '../../../lib/utils/chain-provider-utils'; import styles from './advanced-settings.module.css'; interface SettingsProps { @@ -11,7 +12,6 @@ interface SettingsProps { mediaIpfsGatewayUrlRef?: RefObject; pubsubProvidersRef?: RefObject; ethRpcRef?: RefObject; - solRpcRef?: RefObject; maticRpcRef?: RefObject; avaxRpcRef?: RefObject; httpRoutersRef?: RefObject; @@ -127,11 +127,10 @@ const HttpRoutersSettings = ({ httpRoutersRef }: SettingsProps) => { ); }; -const BlockchainProvidersSettings = ({ ethRpcRef, solRpcRef, maticRpcRef, avaxRpcRef }: SettingsProps) => { +const BlockchainProvidersSettings = ({ ethRpcRef, maticRpcRef, avaxRpcRef }: SettingsProps) => { const account = useAccount(); const chainProviders = getChainProviders(account); const ethRpcDefaultValue = chainProviders?.['eth']?.urls?.join('\n'); - const solRpcDefaultValue = chainProviders?.['sol']?.urls?.join('\n'); const maticRpcDefaultValue = chainProviders?.['matic']?.urls?.join('\n'); const avaxRpcDefaultValue = chainProviders?.['avax']?.urls?.join('\n'); @@ -149,18 +148,6 @@ const BlockchainProvidersSettings = ({ ethRpcRef, solRpcRef, maticRpcRef, avaxRp rows={chainProviders?.['eth']?.urls?.length || 3} /> - solana rpc, for .sol addresses -
    -