From b1ceba42ef51b06fd816c5c243ef559151b7c2b7 Mon Sep 17 00:00:00 2001 From: Le-Caignec Date: Tue, 1 Sep 2026 12:21:49 +0200 Subject: [PATCH 1/2] chore: remove bellecour network references from deployment and configuration files --- .../workflows/core-smart-contract-deploy.yml | 3 +-- packages/smart-contract/config/config.ts | 3 ++- packages/smart-contract/hardhat.config.ts | 18 ++---------------- 3 files changed, 5 insertions(+), 19 deletions(-) diff --git a/.github/workflows/core-smart-contract-deploy.yml b/.github/workflows/core-smart-contract-deploy.yml index 4431e21b3..cc448ae0c 100644 --- a/.github/workflows/core-smart-contract-deploy.yml +++ b/.github/workflows/core-smart-contract-deploy.yml @@ -12,7 +12,6 @@ on: - avalancheFujiTestnet - arbitrumSepolia - arbitrum - - bellecour default: 'hardhat' environment: description: 'Environment' @@ -59,7 +58,7 @@ jobs: NETWORK="${{ inputs.network }}" ENVIRONMENT="${{ inputs.environment }}" case "$NETWORK" in - arbitrum|bellecour) + arbitrum) if [ "$ENVIRONMENT" = "dev" ]; then echo "Error: Cannot deploy to mainnet ($NETWORK) with dev environment" exit 1 diff --git a/packages/smart-contract/config/config.ts b/packages/smart-contract/config/config.ts index 46137d49f..033a25212 100644 --- a/packages/smart-contract/config/config.ts +++ b/packages/smart-contract/config/config.ts @@ -1 +1,2 @@ -export const DATASET_REGISTRY_ADDRESS = '0x799DAa22654128d0C64d5b79eac9283008158730'; +// iExec PoCo DatasetRegistry, same address on arbitrum-sepolia and arbitrum mainnet +export const DATASET_REGISTRY_ADDRESS = '0x07Cc4E1EA30dD02796795876509A3BfC5053128D'; diff --git a/packages/smart-contract/hardhat.config.ts b/packages/smart-contract/hardhat.config.ts index fdffd300c..d223c2046 100644 --- a/packages/smart-contract/hardhat.config.ts +++ b/packages/smart-contract/hardhat.config.ts @@ -7,17 +7,12 @@ const privateKey = env.DEPLOYER_PRIVATE_KEY; const config: HardhatUserConfig = { networks: { hardhat: { + // fork needed to expose the CreateX factory used by the create2 deploy strategy forking: { enabled: true, - url: 'https://bellecour.iex.ec', + url: 'https://sepolia-rollup.arbitrum.io/rpc', }, }, - // modify with the dev network when the environment is ready - bellecour: { - url: 'https://bellecour.iex.ec', - gasPrice: 0, - accounts: privateKey ? [privateKey] : [], - }, // Add Fuji as a network avalancheFuji: { url: env.RPC_URL || 'https://api.avax-test.network/ext/bc/C/rpc', @@ -53,18 +48,9 @@ const config: HardhatUserConfig = { apiKey: env.IS_VERIFICATION_API_V2 ? env.EXPLORER_API_KEY : { - bellecour: env.EXPLORER_API_KEY || 'nothing', // a non-empty string is needed by the plugin. avalancheFuji: env.EXPLORER_API_KEY || 'nothing', // a non-empty string is needed by the plugin. }, customChains: [ - { - network: 'bellecour', - chainId: 134, - urls: { - apiURL: 'https://blockscout.bellecour.iex.ec/api', - browserURL: 'https://blockscout.bellecour.iex.ec', - }, - }, { network: 'avalancheFuji', chainId: 43113, From 21f86cd44dbd893d67e6d36a56ca6dac45901921 Mon Sep 17 00:00:00 2001 From: Le-Caignec Date: Tue, 1 Sep 2026 12:30:09 +0200 Subject: [PATCH 2/2] chore: remove references to avalancheFuji network and related configurations --- .../workflows/core-smart-contract-deploy.yml | 2 -- packages/smart-contract/.env.template | 3 --- packages/smart-contract/README.md | 6 ++--- packages/smart-contract/config/env.ts | 10 ------- packages/smart-contract/hardhat.config.ts | 26 ++----------------- packages/subgraph/networks.json | 22 ---------------- 6 files changed, 5 insertions(+), 64 deletions(-) diff --git a/.github/workflows/core-smart-contract-deploy.yml b/.github/workflows/core-smart-contract-deploy.yml index cc448ae0c..32f7edeeb 100644 --- a/.github/workflows/core-smart-contract-deploy.yml +++ b/.github/workflows/core-smart-contract-deploy.yml @@ -9,7 +9,6 @@ on: type: choice options: - hardhat - - avalancheFujiTestnet - arbitrumSepolia - arbitrum default: 'hardhat' @@ -108,7 +107,6 @@ jobs: env: # For Verification EXPLORER_API_KEY: ${{ secrets.EXPLORER_API_KEY }} - IS_VERIFICATION_API_V2: ${{ vars.IS_VERIFICATION_API_V2 }} run: | # For testnets, use network-environment; for mainnets, use network only if [ "$IS_MAINNET" = false ]; then diff --git a/packages/smart-contract/.env.template b/packages/smart-contract/.env.template index 4c78b3ff7..d082c63f1 100644 --- a/packages/smart-contract/.env.template +++ b/packages/smart-contract/.env.template @@ -12,6 +12,3 @@ MNEMONIC= ## API key to verify contracts EXPLORER_API_KEY= - -## Whether to use API V2 verification format -IS_VERIFICATION_API_V2= diff --git a/packages/smart-contract/README.md b/packages/smart-contract/README.md index 142b8782a..2371d1c66 100644 --- a/packages/smart-contract/README.md +++ b/packages/smart-contract/README.md @@ -9,7 +9,7 @@ The `DataProtector` contract is designed to attach schemas to datasets and publi To deploy the contract, run the following command: ```sh -npm run deploy -- --network avalancheFuji +npm run deploy -- --network arbitrumSepolia ``` If no network is specified, the local Hardhat network will be used by default. @@ -21,13 +21,13 @@ If no network is specified, the local Hardhat network will be used by default. To verify the contract during deployment, include the `--verify` option in the deployment command: ```sh -npm run deploy -- --network avalancheFuji --verify +npm run deploy -- --network arbitrumSepolia --verify ``` If the contract has already been deployed, you can verify it separately using the following command: ```sh -npx hardhat ignition verify chain-43113 +npx hardhat ignition verify chain-421614 ``` This ensures the contract's source code is verified on the blockchain explorer for the specified network. diff --git a/packages/smart-contract/config/env.ts b/packages/smart-contract/config/env.ts index 9e263e733..7704b639c 100644 --- a/packages/smart-contract/config/env.ts +++ b/packages/smart-contract/config/env.ts @@ -27,16 +27,6 @@ const envSchema = z.object({ // Arbiscan API key EXPLORER_API_KEY: z.string().optional().or(z.literal('')), - - // Whether to use API V2 verification format - IS_VERIFICATION_API_V2: z - .string() - .optional() - .default('true') - .refine((val) => val === 'true' || val === 'false', { - message: 'IS_VERIFICATION_API_V2 must be "true" or "false"', - }) - .transform((val) => val === 'true'), }); export const env = envSchema.parse(process.env); diff --git a/packages/smart-contract/hardhat.config.ts b/packages/smart-contract/hardhat.config.ts index d223c2046..798042feb 100644 --- a/packages/smart-contract/hardhat.config.ts +++ b/packages/smart-contract/hardhat.config.ts @@ -13,13 +13,6 @@ const config: HardhatUserConfig = { url: 'https://sepolia-rollup.arbitrum.io/rpc', }, }, - // Add Fuji as a network - avalancheFuji: { - url: env.RPC_URL || 'https://api.avax-test.network/ext/bc/C/rpc', - accounts: privateKey ? [privateKey] : [], - blockGasLimit: 8_000_000, - chainId: 43113, - }, // Add Arbitrum Sepolia as a network arbitrumSepolia: { url: env.RPC_URL || 'https://sepolia-rollup.arbitrum.io/rpc', @@ -43,24 +36,9 @@ const config: HardhatUserConfig = { gasPrice: 0, }, }, - //to verify contract on Blockscout + //to verify contract on the block explorer etherscan: { - apiKey: env.IS_VERIFICATION_API_V2 - ? env.EXPLORER_API_KEY - : { - avalancheFuji: env.EXPLORER_API_KEY || 'nothing', // a non-empty string is needed by the plugin. - }, - customChains: [ - { - network: 'avalancheFuji', - chainId: 43113, - urls: { - // Snowtrace explorer. - apiURL: 'https://api.routescan.io/v2/network/testnet/evm/43113/etherscan/api', - browserURL: 'https://testnet.snowtrace.io/', - }, - }, - ], + apiKey: env.EXPLORER_API_KEY || '', }, sourcify: { enabled: true, diff --git a/packages/subgraph/networks.json b/packages/subgraph/networks.json index ef91641de..ead6904d0 100644 --- a/packages/subgraph/networks.json +++ b/packages/subgraph/networks.json @@ -1,26 +1,4 @@ { - "fuji": { - "DataProtector": { - "address": "0x2296daeDD3090750a80fFB2D0147669984909ED2", - "startBlock": 39768073 - }, - "DatasetRegistry": { - "address": "0x3441A0C9FE488c51fcABa2bAAA048720f4D4F72D", - "startBlock": 39768073 - }, - "DataProtectorSharing": { - "address": "0x0000000000000000000000000000000000000000", - "startBlock": 0 - }, - "AppRegistry": { - "address": "0x4a6531ce5150ee716b2d93865D0fbB9ce5492D17", - "startBlock": 0 - }, - "AddOnlyAppWhitelistRegistry": { - "address": "0x0000000000000000000000000000000000000000", - "startBlock": 0 - } - }, "arbitrum-sepolia": { "DataProtector": { "address": "0x168eAF6C33a77E3caD9db892452f51a5D91df621",