From 271b063849a1b7ce8bd44a893f37cafdefcea9fa Mon Sep 17 00:00:00 2001 From: ErwanDecoster Date: Mon, 13 Oct 2025 11:10:40 +0200 Subject: [PATCH 1/5] feat: add Arbitrum Sepolia support and update SDK initialization for experimental networks --- src/config/config.ts | 18 +++++++++++++++++- src/externals/iexecSdkClient.ts | 11 +++++++---- src/utils/wagmiNetworks.ts | 9 +++++++-- 3 files changed, 31 insertions(+), 7 deletions(-) diff --git a/src/config/config.ts b/src/config/config.ts index d0fedac..7fb4c43 100644 --- a/src/config/config.ts +++ b/src/config/config.ts @@ -1,6 +1,6 @@ import arbitrumIcon from '@/assets/chain-icons/arbitrum.svg'; import iexecLogo from '@/assets/iexec-logo.svg'; -import { bellecour, arbitrum } from '../utils/wagmiNetworks'; +import { bellecour, arbitrum, arbitrumSepolia } from '../utils/wagmiNetworks'; export const ITEMS_PER_PAGE = 6; @@ -11,6 +11,7 @@ export const CONTACT_URL = // Chain ID constants export const BELLECOUR_CHAIN_ID = 134; export const ARBITRUM_CHAIN_ID = 42161; +export const ARBITRUM_SEPOLIA_CHAIN_ID = 421614; // Workerpool configuration export const WORKERPOOL_ADDRESS_OR_ENS = 'prod-v8-learn.main.pools.iexec.eth'; @@ -58,4 +59,19 @@ export const SUPPORTED_CHAINS = [ web3telegram: '0x53AFc09a647e7D5Fa9BDC784Eb3623385C45eF89', }, }, + { + id: ARBITRUM_SEPOLIA_CHAIN_ID, + name: 'Arbitrum Sepolia', + slug: 'arbitrum-sepolia-testnet', + color: '#28A0F080', + icon: arbitrumIcon, + blockExplorerUrl: 'https://sepolia.arbiscan.io/', + subgraphUrl: { + poco: 'https://thegraph.arbitrum-sepolia-testnet.iex.ec/api/subgraphs/id/2GCj8gzLCihsiEDq8cYvC5nUgK6VfwZ6hm3Wj8A3kcxz', + dataprotector: + 'https://thegraph.arbitrum-sepolia-testnet.iex.ec/api/subgraphs/id/5YjRPLtjS6GH6bB4yY55Qg4HzwtRGQ8TaHtGf9UBWWd', + }, + wagmiNetwork: arbitrumSepolia, + tokenSymbol: 'RLC', + }, ] as const; diff --git a/src/externals/iexecSdkClient.ts b/src/externals/iexecSdkClient.ts index 7f389f3..0eece77 100644 --- a/src/externals/iexecSdkClient.ts +++ b/src/externals/iexecSdkClient.ts @@ -46,7 +46,9 @@ export async function initIExecSDKs({ connector }: { connector?: Connector }) { return; } - const dataProtectorParent = new IExecDataProtector(provider); + const dataProtectorParent = new IExecDataProtector(provider, { + allowExperimentalNetworks: true, + }); iExecDataProtectorCore = dataProtectorParent.core; iExecDataProtectorSharing = dataProtectorParent.sharing; @@ -63,15 +65,16 @@ export async function initIExecSDKs({ connector }: { connector?: Connector }) { }); DATA_PROTECTOR_SHARING_CLIENT_RESOLVES.length = 0; - iExecWeb3mail = new IExecWeb3mail(provider); + iExecWeb3mail = new IExecWeb3mail(provider, { + allowExperimentalNetworks: true, + }); WEB3MAIL_CLIENT_RESOLVES.forEach((resolve) => { return resolve(iExecWeb3mail); }); WEB3MAIL_CLIENT_RESOLVES.length = 0; - //TODO: Remove hardcoded IPFS node when new IExecWeb3telegram version is released iExecWeb3telegram = new IExecWeb3telegram(provider, { - ipfsNode: 'https://ipfs-upload.v8-bellecour.iex.ec', + allowExperimentalNetworks: true, }); WEB3TELEGRAM_CLIENT_RESOLVES.forEach((resolve) => { return resolve(iExecWeb3telegram); diff --git a/src/utils/wagmiNetworks.ts b/src/utils/wagmiNetworks.ts index 310047c..12df5ba 100644 --- a/src/utils/wagmiNetworks.ts +++ b/src/utils/wagmiNetworks.ts @@ -1,6 +1,10 @@ -import { AppKitNetwork, arbitrum } from '@reown/appkit/networks'; +import { + AppKitNetwork, + arbitrum, + arbitrumSepolia, +} from '@reown/appkit/networks'; -export { arbitrum } from '@reown/appkit/networks'; +export { arbitrum, arbitrumSepolia } from '@reown/appkit/networks'; export const bellecour: AppKitNetwork = { id: 0x86, @@ -26,6 +30,7 @@ export const bellecour: AppKitNetwork = { const wagmiNetworks = { bellecour, arbitrum, + arbitrumSepolia, }; export default wagmiNetworks; From dd515e7df34093f4a2fbcecc9d7aa89750bbd027 Mon Sep 17 00:00:00 2001 From: ErwanDecoster Date: Mon, 13 Oct 2025 11:31:38 +0200 Subject: [PATCH 2/5] fix: rename variable for clarity in ChainSelector component --- src/components/navBar/ChainSelector.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/navBar/ChainSelector.tsx b/src/components/navBar/ChainSelector.tsx index 4b1ff78..2728cfe 100644 --- a/src/components/navBar/ChainSelector.tsx +++ b/src/components/navBar/ChainSelector.tsx @@ -17,7 +17,7 @@ export function ChainSelector({ className }: { className?: string }) { await switchChain(wagmiAdapter.wagmiConfig, { chainId }); }; - const filteredChains = getSupportedChains(); + const chains = getSupportedChains(); return (