From 6e1062277745cb652a5a7f743ac71d398db076b0 Mon Sep 17 00:00:00 2001 From: sepehr sanaee Date: Thu, 23 May 2024 17:04:40 +0330 Subject: [PATCH 01/15] pumped SDK --- package.json | 6 +++--- yarn.lock | 30 +++++++++++++++--------------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/package.json b/package.json index 813f54610..b6ec75a4a 100644 --- a/package.json +++ b/package.json @@ -22,9 +22,9 @@ "dependencies": { "@apollo/client": "^3.5.8", "@aragon/ods": "^1.0.20", - "@aragon/osx-commons-configs": "^0.4.0", - "@aragon/sdk-client": "^1.23.5", - "@aragon/sdk-client-common": "^1.15.3", + "@aragon/osx-commons-configs": "^0.5.0", + "@aragon/sdk-client": "^1.24.0", + "@aragon/sdk-client-common": "^1.16.0", "@playwright/test": "^1.42.1", "@radix-ui/react-accordion": "^1.1.2", "@radix-ui/react-dialog": "^1.0.4", diff --git a/yarn.lock b/yarn.lock index 062e95c98..d818101d6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -86,10 +86,10 @@ dependencies: tslib "^2.6.2" -"@aragon/osx-commons-configs@^0.4.0": - version "0.4.0" - resolved "https://registry.yarnpkg.com/@aragon/osx-commons-configs/-/osx-commons-configs-0.4.0.tgz#5b6ae025de1ccf7f9a135bfbcb0aa822c774acf9" - integrity sha512-/2wIQCbv/spMRdOjRXK0RrXG1TK5aMcbD73RvMgMwQwSrKcA1dCntUuSxmTm2W8eEtOzs8E1VPjqZk0cXL4SSQ== +"@aragon/osx-commons-configs@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@aragon/osx-commons-configs/-/osx-commons-configs-0.5.0.tgz#4c9006d61dbec8f13af5f5110f2d84ab00986ded" + integrity sha512-1ylzs0sbb9sOSisQc01IOXdC7rVhxuRD64GRtwE5KUCq8nyzQ1jk+yXscYh3Uw+B6B8DLKeLN9xFquR7y1grZA== dependencies: tslib "^2.6.2" @@ -132,12 +132,12 @@ graphql-request "^4.3.0" yup "^1.2.0" -"@aragon/sdk-client-common@^1.15.3": - version "1.15.3" - resolved "https://registry.yarnpkg.com/@aragon/sdk-client-common/-/sdk-client-common-1.15.3.tgz#039efbdb41fead05f34f999086ec198d1201a1c2" - integrity sha512-quZiR9UEYE5atEcFPyohkpU9RvAtal9gqitEv+15IFxf8bkQyH/g/tG7icFseYcCZkHAgzBnjgk/PNfqr4attw== +"@aragon/sdk-client-common@^1.16.0": + version "1.16.0" + resolved "https://registry.yarnpkg.com/@aragon/sdk-client-common/-/sdk-client-common-1.16.0.tgz#7d1ee5a8d68f3ddf5394773c5cf2161d048c5a95" + integrity sha512-ELWO7+8PrjZ6yqW1rEqFlDljp6G04aAji1pPTEp+MU9a+TMWZno2yQgvGCT492IK1EMSQATblEczVZ7PkP04rQ== dependencies: - "@aragon/osx-commons-configs" "^0.4.0" + "@aragon/osx-commons-configs" "^0.5.0" "@aragon/osx-ethers" "^1.3.1" "@aragon/osx-ethers-v1.0.0" "npm:@aragon/osx-ethers@1.2.1" "@aragon/sdk-ipfs" "^1.1.0" @@ -171,14 +171,14 @@ graphql-request "^4.3.0" yup "^1.2.0" -"@aragon/sdk-client@^1.23.5": - version "1.23.5" - resolved "https://registry.yarnpkg.com/@aragon/sdk-client/-/sdk-client-1.23.5.tgz#84cc4047e4fad766a175002befced605bd8e6b16" - integrity sha512-EcQv10RkASZQPLyDOLGRY1ZnVRVWV1cKpNjJWEbOkwCicihH5JuPp8XFPfRp5794yEpkCAxfq1SFl9NYyS1qeA== +"@aragon/sdk-client@^1.24.0": + version "1.24.0" + resolved "https://registry.yarnpkg.com/@aragon/sdk-client/-/sdk-client-1.24.0.tgz#a2312d47354ee390d099f829dd5df94bc92aede9" + integrity sha512-U99kX4+PM2TPQJ+OfZ08jN5EhcXZzgwMr9wQYmAexOTnjSE9ec1TvmkydBfDAuHGW8eNyNzJIu5Uze8gqXw6Ug== dependencies: - "@aragon/osx-commons-configs" "^0.4.0" + "@aragon/osx-commons-configs" "^0.5.0" "@aragon/osx-ethers" "1.3.0" - "@aragon/sdk-client-common" "^1.15.3" + "@aragon/sdk-client-common" "^1.16.0" "@aragon/sdk-ipfs" "^1.1.0" "@ethersproject/abstract-signer" "^5.5.0" "@ethersproject/bignumber" "^5.6.0" From f03b0ba4d8ffff4aa072a2aab6de98708c20ab07 Mon Sep 17 00:00:00 2001 From: sepehr sanaee Date: Tue, 28 May 2024 10:23:47 +0330 Subject: [PATCH 02/15] added zkSepolia to network list --- src/utils/constants/chains.ts | 53 ++++++++++++++++++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/src/utils/constants/chains.ts b/src/utils/constants/chains.ts index cd648a1a7..cdb2ce4a7 100644 --- a/src/utils/constants/chains.ts +++ b/src/utils/constants/chains.ts @@ -3,7 +3,7 @@ import {i18n} from '../../../i18n.config'; export const SUPPORTED_CHAIN_ID = [ - 1, 5, 137, 8453, 80001, 84531, 42161, 421613, 11155111, + 1, 5, 137, 300, 324, 8453, 80001, 84531, 42161, 421613, 11155111, ] as const; export type SupportedChainID = (typeof SUPPORTED_CHAIN_ID)[number]; @@ -23,6 +23,8 @@ export const NETWORKS_WITH_CUSTOM_REGISTRY: SupportedNetworks[] = [ 'base', 'polygon', 'sepolia', + // 'zksync', + 'zksync-sepolia', ]; export const L2_NETWORKS = NETWORKS_WITH_CUSTOM_REGISTRY; @@ -33,6 +35,8 @@ const SUPPORTED_NETWORKS = [ 'ethereum', 'polygon', 'sepolia', + // 'zksync', + 'zksync-sepolia', ] as const; export type SupportedNetworks = @@ -230,6 +234,53 @@ export const CHAIN_METADATA: Record = { }, supportsEns: false, }, + // zksync: { + // id: 324, + // name: i18n.t('explore.modal.filterDAOs.label.zksync'), + // domain: 'L2 Blockchain', + // logo: 'https://assets.coingecko.com/asset_platforms/images/121/large/zksync.jpeg', + // explorer: 'https://explorer.zksync.io/', + // isTestnet: false, + // explorerName: 'ZkSync Explorer', + // publicRpc: 'https://zksync.meowrpc.com', + // gatewayNetwork: 'ethereum/zksync', + // nativeCurrency: { + // name: 'Ether', + // symbol: 'ETH', + // decimals: 18, + // }, + // etherscanApi: 'https://block-explorer-api.mainnet.zksync.io/api', + // etherscanApiKey: '', + // covalent: { + // networkId: 'zksync-mainnet', + // nativeTokenId: '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee', + // }, + // supportsEns: false, + // }, + 'zksync-sepolia': { + id: 324, + name: i18n.t('explore.modal.filterDAOs.label.zksyncSepolia'), + domain: 'L2 Blockchain', + logo: 'https://assets.coingecko.com/asset_platforms/images/121/large/zksync.jpeg', + explorer: 'https://sepolia.explorer.zksync.io/', + isTestnet: true, + // mainnet: 'zksync', + explorerName: 'ZkSync Sepolia Explorer', + publicRpc: 'https://endpoints.omniatech.io/v1/zksync-era/sepolia/public', + gatewayNetwork: 'ethereum/zksyncSepolia', + nativeCurrency: { + name: 'Ether', + symbol: 'ETH', + decimals: 18, + }, + etherscanApi: 'https://block-explorer-api.sepolia.zksync.dev/api', + etherscanApiKey: '', + covalent: { + networkId: 'zksync-sepolia-testnet', + nativeTokenId: '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee', + }, + supportsEns: false, + }, unsupported: { id: 1, name: 'Unsupported', From 3ba5658094f0f18848e04c9e554a64a3243791b9 Mon Sep 17 00:00:00 2001 From: sepehr sanaee Date: Tue, 28 May 2024 10:24:49 +0330 Subject: [PATCH 03/15] crowdin texts added --- src/assets/locales/en/common.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/assets/locales/en/common.json b/src/assets/locales/en/common.json index c57d39349..93c1bd99b 100644 --- a/src/assets/locales/en/common.json +++ b/src/assets/locales/en/common.json @@ -1067,7 +1067,9 @@ "member": "Wallet-based", "governanceType": "Governance type", "arbitrum": "Arbitrum", - "ethereumSepolia": "Ethereum Sepolia" + "ethereumSepolia": "Ethereum Sepolia", + "zksync": "ZkSync Era", + "zksyncSepolia": "ZkSync Sepolia" }, "ctaLabel": { "see0": "See 0 DAOs", From 47536ea67e4c63685781bc6a92bc2ae0735b1000 Mon Sep 17 00:00:00 2001 From: sepehr sanaee Date: Tue, 28 May 2024 10:25:40 +0330 Subject: [PATCH 04/15] create dao network added --- src/containers/selectChainForm/index.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/containers/selectChainForm/index.tsx b/src/containers/selectChainForm/index.tsx index 8dcabe2ba..a188e944b 100644 --- a/src/containers/selectChainForm/index.tsx +++ b/src/containers/selectChainForm/index.tsx @@ -110,8 +110,8 @@ const networks: SelectableNetworks = { security: ['ethereum', 'base', 'arbitrum', 'polygon'], }, test: { - cost: ['sepolia'], - popularity: ['sepolia'], - security: ['sepolia'], + cost: ['zksync-sepolia', 'sepolia'], + popularity: ['zksync-sepolia', 'sepolia'], + security: ['zksync-sepolia', 'sepolia'], }, }; From ebbd26c345c5c17e408e99f309dbe1b9b214e875 Mon Sep 17 00:00:00 2001 From: sepehr sanaee Date: Tue, 28 May 2024 10:27:07 +0330 Subject: [PATCH 05/15] added zkSupport for wallet --- src/index.tsx | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/src/index.tsx b/src/index.tsx index ba369fb7e..453784344 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -11,7 +11,15 @@ import {createWeb3Modal} from '@web3modal/wagmi/react'; import {http, createConfig, WagmiProvider} from 'wagmi'; import {walletConnect, coinbaseWallet} from 'wagmi/connectors'; -import {Chain, arbitrum, base, mainnet, polygon, sepolia} from 'wagmi/chains'; +import { + Chain, + arbitrum, + base, + mainnet, + polygon, + sepolia, + zkSyncSepoliaTestnet, +} from 'wagmi/chains'; import {AlertProvider} from 'context/alert'; import {GlobalModalsProvider} from 'context/globalModals'; import {NetworkProvider} from 'context/network'; @@ -32,10 +40,14 @@ import {App} from './app'; import {aragonGateway} from 'utils/aragonGateway'; import {HttpTransport} from 'viem'; -const chains = [mainnet, polygon, base, arbitrum, sepolia] as [ - Chain, - ...Chain[], -]; +const chains = [ + mainnet, + polygon, + base, + arbitrum, + sepolia, + zkSyncSepoliaTestnet, +] as [Chain, ...Chain[]]; const transports = chains.reduce( (RPCs, value) => { From 41a1b7d93f49a0aca43a92282179d58d8d5e58a9 Mon Sep 17 00:00:00 2001 From: sepehr sanaee Date: Tue, 28 May 2024 11:49:13 +0330 Subject: [PATCH 06/15] added zksync-sepolia as not supported network for covalent in useDaoMembers --- src/hooks/useDaoMembers.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/hooks/useDaoMembers.tsx b/src/hooks/useDaoMembers.tsx index 69bae4ae3..0f70ddbba 100644 --- a/src/hooks/useDaoMembers.tsx +++ b/src/hooks/useDaoMembers.tsx @@ -138,7 +138,9 @@ export const useDaoMembers = ( const enabled = opts?.enabled || true; const covalentSupportedNetwork = !( - network === 'arbitrum' || network === 'base' + network === 'arbitrum' || + network === 'base' || + network === 'zksync-sepolia' ); const useGraphql = From bebf3562684ae9154cef06162bcb22106c532de7 Mon Sep 17 00:00:00 2001 From: sepehr sanaee Date: Tue, 28 May 2024 11:52:05 +0330 Subject: [PATCH 07/15] zksync-sepolia route added --- src/utils/constants/api.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/utils/constants/api.ts b/src/utils/constants/api.ts index 2b9ed4029..1f5607d17 100644 --- a/src/utils/constants/api.ts +++ b/src/utils/constants/api.ts @@ -33,6 +33,8 @@ export const SUBGRAPH_API_URL: SubgraphNetworkUrl = { 'https://subgraph.satsuma-prod.com/qHR2wGfc5RLi6/aragon/osx-polygon/version/v1.4.2/api', sepolia: 'https://subgraph.satsuma-prod.com/qHR2wGfc5RLi6/aragon/osx-sepolia/version/v1.4.2/api', + 'zksync-sepolia': + 'https://subgraph.satsuma-prod.com/qHR2wGfc5RLi6/aragon/osx-zksync-era-sepolia/version/1.4.2/api', unsupported: undefined, }; From d4b6c6c3c67fabf748e4547b82b8001481c16ba8 Mon Sep 17 00:00:00 2001 From: sepehr sanaee Date: Tue, 28 May 2024 11:59:02 +0330 Subject: [PATCH 08/15] fix zk-sepolia chain id --- src/utils/constants/chains.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/constants/chains.ts b/src/utils/constants/chains.ts index cdb2ce4a7..c220d1d16 100644 --- a/src/utils/constants/chains.ts +++ b/src/utils/constants/chains.ts @@ -258,7 +258,7 @@ export const CHAIN_METADATA: Record = { // supportsEns: false, // }, 'zksync-sepolia': { - id: 324, + id: 300, name: i18n.t('explore.modal.filterDAOs.label.zksyncSepolia'), domain: 'L2 Blockchain', logo: 'https://assets.coingecko.com/asset_platforms/images/121/large/zksync.jpeg', From b3a4deccd8e946c3ceef9430ab1e6b0d3abc2016 Mon Sep 17 00:00:00 2001 From: sepehr sanaee Date: Tue, 28 May 2024 12:02:07 +0330 Subject: [PATCH 09/15] network casting added --- src/utils/library.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/utils/library.ts b/src/utils/library.ts index da5fcd9b8..23748b610 100644 --- a/src/utils/library.ts +++ b/src/utils/library.ts @@ -861,6 +861,8 @@ export const translateToAppNetwork = ( return 'polygon'; case SdkSupportedNetworks.SEPOLIA: return 'sepolia'; + case SdkSupportedNetworks.ZKSYNC_SEPOLIA: + return 'zksync-sepolia'; default: return 'unsupported'; } @@ -897,6 +899,8 @@ export function translateToNetworkishName( return SdkSupportedNetworks.POLYGON; case 'sepolia': return SdkSupportedNetworks.SEPOLIA; + case 'zksync-sepolia': + return SdkSupportedNetworks.ZKSYNC_SEPOLIA; } return 'unsupported'; From 3464d8f431cef4f3dca88698a2067e2a0db5c23d Mon Sep 17 00:00:00 2001 From: sepehr sanaee Date: Tue, 28 May 2024 14:14:49 +0330 Subject: [PATCH 10/15] unifying app zksyncSepolia key with SDK --- src/containers/selectChainForm/index.tsx | 6 +++--- src/hooks/useDaoMembers.tsx | 2 +- src/utils/constants/api.ts | 2 +- src/utils/constants/chains.ts | 8 ++++---- src/utils/library.ts | 4 ++-- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/containers/selectChainForm/index.tsx b/src/containers/selectChainForm/index.tsx index a188e944b..80a73a444 100644 --- a/src/containers/selectChainForm/index.tsx +++ b/src/containers/selectChainForm/index.tsx @@ -110,8 +110,8 @@ const networks: SelectableNetworks = { security: ['ethereum', 'base', 'arbitrum', 'polygon'], }, test: { - cost: ['zksync-sepolia', 'sepolia'], - popularity: ['zksync-sepolia', 'sepolia'], - security: ['zksync-sepolia', 'sepolia'], + cost: ['zksyncSepolia', 'sepolia'], + popularity: ['zksyncSepolia', 'sepolia'], + security: ['zksyncSepolia', 'sepolia'], }, }; diff --git a/src/hooks/useDaoMembers.tsx b/src/hooks/useDaoMembers.tsx index 0f70ddbba..57014327f 100644 --- a/src/hooks/useDaoMembers.tsx +++ b/src/hooks/useDaoMembers.tsx @@ -140,7 +140,7 @@ export const useDaoMembers = ( const covalentSupportedNetwork = !( network === 'arbitrum' || network === 'base' || - network === 'zksync-sepolia' + network === 'zksyncSepolia' ); const useGraphql = diff --git a/src/utils/constants/api.ts b/src/utils/constants/api.ts index 1f5607d17..c5ac8a38f 100644 --- a/src/utils/constants/api.ts +++ b/src/utils/constants/api.ts @@ -33,7 +33,7 @@ export const SUBGRAPH_API_URL: SubgraphNetworkUrl = { 'https://subgraph.satsuma-prod.com/qHR2wGfc5RLi6/aragon/osx-polygon/version/v1.4.2/api', sepolia: 'https://subgraph.satsuma-prod.com/qHR2wGfc5RLi6/aragon/osx-sepolia/version/v1.4.2/api', - 'zksync-sepolia': + zksyncSepolia: 'https://subgraph.satsuma-prod.com/qHR2wGfc5RLi6/aragon/osx-zksync-era-sepolia/version/1.4.2/api', unsupported: undefined, }; diff --git a/src/utils/constants/chains.ts b/src/utils/constants/chains.ts index c220d1d16..4c17a47e4 100644 --- a/src/utils/constants/chains.ts +++ b/src/utils/constants/chains.ts @@ -24,7 +24,7 @@ export const NETWORKS_WITH_CUSTOM_REGISTRY: SupportedNetworks[] = [ 'polygon', 'sepolia', // 'zksync', - 'zksync-sepolia', + 'zksyncSepolia', ]; export const L2_NETWORKS = NETWORKS_WITH_CUSTOM_REGISTRY; @@ -36,7 +36,7 @@ const SUPPORTED_NETWORKS = [ 'polygon', 'sepolia', // 'zksync', - 'zksync-sepolia', + 'zksyncSepolia', ] as const; export type SupportedNetworks = @@ -257,7 +257,7 @@ export const CHAIN_METADATA: Record = { // }, // supportsEns: false, // }, - 'zksync-sepolia': { + zksyncSepolia: { id: 300, name: i18n.t('explore.modal.filterDAOs.label.zksyncSepolia'), domain: 'L2 Blockchain', @@ -267,7 +267,7 @@ export const CHAIN_METADATA: Record = { // mainnet: 'zksync', explorerName: 'ZkSync Sepolia Explorer', publicRpc: 'https://endpoints.omniatech.io/v1/zksync-era/sepolia/public', - gatewayNetwork: 'ethereum/zksyncSepolia', + gatewayNetwork: 'zksync/sepolia', nativeCurrency: { name: 'Ether', symbol: 'ETH', diff --git a/src/utils/library.ts b/src/utils/library.ts index 23748b610..9ecc6e684 100644 --- a/src/utils/library.ts +++ b/src/utils/library.ts @@ -862,7 +862,7 @@ export const translateToAppNetwork = ( case SdkSupportedNetworks.SEPOLIA: return 'sepolia'; case SdkSupportedNetworks.ZKSYNC_SEPOLIA: - return 'zksync-sepolia'; + return 'zksyncSepolia'; default: return 'unsupported'; } @@ -899,7 +899,7 @@ export function translateToNetworkishName( return SdkSupportedNetworks.POLYGON; case 'sepolia': return SdkSupportedNetworks.SEPOLIA; - case 'zksync-sepolia': + case 'zksyncSepolia': return SdkSupportedNetworks.ZKSYNC_SEPOLIA; } From 622b2c37f224efc74f6ec9c4b2895f50568c78e6 Mon Sep 17 00:00:00 2001 From: Ruggero Cino Date: Fri, 31 May 2024 14:26:58 +0200 Subject: [PATCH 11/15] Fix integration of new SDK --- src/services/transactions/transactionsService.ts | 6 ++++-- src/utils/library.ts | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/services/transactions/transactionsService.ts b/src/services/transactions/transactionsService.ts index 916b6c818..7cbb5bd03 100644 --- a/src/services/transactions/transactionsService.ts +++ b/src/services/transactions/transactionsService.ts @@ -21,7 +21,7 @@ import { import {ITransaction} from './domain/transaction'; import {decodeProposalId, hexToBytes} from '@aragon/sdk-client-common'; import {isMultisigClient, isTokenVotingClient} from 'hooks/usePluginClient'; -import {ContractNames} from '@aragon/osx-commons-configs'; +import {FrameworkContractsNames} from '@aragon/osx-commons-configs'; class TransactionsService { buildCreateDaoTransaction = async ( @@ -37,7 +37,9 @@ class TransactionsService { } = params; const signer = client.web3.getConnectedSigner(); - const daoFactoryAddress = client.web3.getAddress(ContractNames.DAO_FACTORY); + const daoFactoryAddress = client.web3.getAddress( + FrameworkContractsNames.DAO_FACTORY + ); const daoFactoryInstance = DAOFactory__factory.connect( daoFactoryAddress, diff --git a/src/utils/library.ts b/src/utils/library.ts index 9ecc6e684..cd0e64f5c 100644 --- a/src/utils/library.ts +++ b/src/utils/library.ts @@ -1317,8 +1317,8 @@ export function getPluginRepoAddress( ) { return pluginType === 'multisig.plugin.dao.eth' ? getNetworkDeployments(translatedNetwork)[version]?.MultisigRepoProxy - .address + ?.address : getNetworkDeployments(translatedNetwork)[version]?.TokenVotingRepoProxy - .address; + ?.address; } } From 663d9fbcf760547e291d867ce59c44ed95e4aa14 Mon Sep 17 00:00:00 2001 From: Ruggero Cino Date: Fri, 31 May 2024 14:45:37 +0200 Subject: [PATCH 12/15] Redirect zksync calls to alchemy gateway --- src/utils/aragonGateway.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/utils/aragonGateway.ts b/src/utils/aragonGateway.ts index f03afa6bb..60315b6f1 100644 --- a/src/utils/aragonGateway.ts +++ b/src/utils/aragonGateway.ts @@ -14,7 +14,7 @@ import { class AragonGateway { private rpcVersion = '1.0'; private ipfsVersion = '1.0'; - private baseUrl = import.meta.env.VITE_GATEWAY_URL; + private baseUrl = import.meta.env.VITE_GATEWAY_URL as string; getRpcProvider = ( chainIdOrNetwork: number | SupportedNetworks @@ -55,7 +55,12 @@ class AragonGateway { const {gatewayNetwork} = CHAIN_METADATA[network]; const gatewayKey = import.meta.env.VITE_GATEWAY_RPC_API_KEY; - const rpcUrl = `${this.baseUrl}/v${this.rpcVersion}/rpc/${gatewayNetwork}/${gatewayKey}`; + const baseUrl = + network === 'zksyncSepolia' + ? this.baseUrl.replace('app', 'alchemy') + : this.baseUrl; + + const rpcUrl = `${baseUrl}/v${this.rpcVersion}/rpc/${gatewayNetwork}/${gatewayKey}`; return rpcUrl; }; From 4256f366bec4d6456f60643875a2d018bffe2663 Mon Sep 17 00:00:00 2001 From: Ruggero Cino Date: Fri, 31 May 2024 15:15:20 +0200 Subject: [PATCH 13/15] Fix pending state --- src/pages/dashboard.tsx | 22 ++++++---------------- src/utils/aragonGateway.ts | 6 +++++- 2 files changed, 11 insertions(+), 17 deletions(-) diff --git a/src/pages/dashboard.tsx b/src/pages/dashboard.tsx index 77a62b338..f304e64e5 100644 --- a/src/pages/dashboard.tsx +++ b/src/pages/dashboard.tsx @@ -117,8 +117,6 @@ export const Dashboard: React.FC = () => { } ); - const isPendingDao = pendingDao || !(census3Token?.status.synced ?? false); - const isLoading = liveDaoLoading || pendingDaoLoading || followedDaosLoading; const removePendingDaoMutation = useRemovePendingDaoMutation(() => { @@ -157,30 +155,22 @@ export const Dashboard: React.FC = () => { *************************************************/ useEffect(() => { // poll for the newly created DAO while waiting to be indexed - if (isPendingDao && isSuccess && !liveDao) { + if (pendingDao && isSuccess && !liveDao) { setPollInterval(1000); } - }, [isSuccess, liveDao, isPendingDao]); + }, [isSuccess, liveDao, pendingDao]); useEffect(() => { if ( - isPendingDao && + pendingDao && liveDao && - daoCreationState === DaoCreationState.ASSEMBLING_DAO && - isGasless && - census3Token?.status.synced + daoCreationState === DaoCreationState.ASSEMBLING_DAO ) { setPollInterval(0); setDaoCreationState(DaoCreationState.DAO_READY); setTimeout(() => setDaoCreationState(DaoCreationState.OPEN_DAO), 2000); } - }, [ - liveDao, - daoCreationState, - isPendingDao, - isGasless, - census3Token?.status.synced, - ]); + }, [liveDao, daoCreationState, pendingDao]); useEffect(() => { if ( @@ -270,7 +260,7 @@ export const Dashboard: React.FC = () => { return ; } - if (isPendingDao) { + if (pendingDao) { const buttonLabel = { [DaoCreationState.ASSEMBLING_DAO]: t('dashboard.emptyState.buildingDAO'), [DaoCreationState.DAO_READY]: t('dashboard.emptyState.daoReady'), diff --git a/src/utils/aragonGateway.ts b/src/utils/aragonGateway.ts index 60315b6f1..4f1b68ed6 100644 --- a/src/utils/aragonGateway.ts +++ b/src/utils/aragonGateway.ts @@ -54,7 +54,11 @@ class AragonGateway { } const {gatewayNetwork} = CHAIN_METADATA[network]; - const gatewayKey = import.meta.env.VITE_GATEWAY_RPC_API_KEY; + const gatewayKey = + network === 'zksyncSepolia' + ? import.meta.env.VITE_GATEWAY_RPC_API_KEY_ALCHEMY + : import.meta.env.VITE_GATEWAY_RPC_API_KEY; + const baseUrl = network === 'zksyncSepolia' ? this.baseUrl.replace('app', 'alchemy') From 9405e6a96aeee588e3a3791dd42919c9529c2b60 Mon Sep 17 00:00:00 2001 From: Ruggero Cino Date: Fri, 31 May 2024 15:28:42 +0200 Subject: [PATCH 14/15] Fix pending state --- src/pages/dashboard.tsx | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/pages/dashboard.tsx b/src/pages/dashboard.tsx index f304e64e5..9367a7924 100644 --- a/src/pages/dashboard.tsx +++ b/src/pages/dashboard.tsx @@ -117,6 +117,9 @@ export const Dashboard: React.FC = () => { } ); + const isPendingDao = + pendingDao || (isGasless && !(census3Token?.status.synced ?? false)); + const isLoading = liveDaoLoading || pendingDaoLoading || followedDaosLoading; const removePendingDaoMutation = useRemovePendingDaoMutation(() => { @@ -155,22 +158,29 @@ export const Dashboard: React.FC = () => { *************************************************/ useEffect(() => { // poll for the newly created DAO while waiting to be indexed - if (pendingDao && isSuccess && !liveDao) { + if (isPendingDao && isSuccess && !liveDao) { setPollInterval(1000); } - }, [isSuccess, liveDao, pendingDao]); + }, [isSuccess, liveDao, isPendingDao]); useEffect(() => { if ( - pendingDao && + isPendingDao && liveDao && - daoCreationState === DaoCreationState.ASSEMBLING_DAO + daoCreationState === DaoCreationState.ASSEMBLING_DAO && + (!isGasless || census3Token?.status.synced === true) ) { setPollInterval(0); setDaoCreationState(DaoCreationState.DAO_READY); setTimeout(() => setDaoCreationState(DaoCreationState.OPEN_DAO), 2000); } - }, [liveDao, daoCreationState, pendingDao]); + }, [ + liveDao, + daoCreationState, + isPendingDao, + isGasless, + census3Token?.status.synced, + ]); useEffect(() => { if ( @@ -260,7 +270,7 @@ export const Dashboard: React.FC = () => { return ; } - if (pendingDao) { + if (isPendingDao) { const buttonLabel = { [DaoCreationState.ASSEMBLING_DAO]: t('dashboard.emptyState.buildingDAO'), [DaoCreationState.DAO_READY]: t('dashboard.emptyState.daoReady'), From b31bb7b337f3b5dc3b50415b37ab76cfbe339dd7 Mon Sep 17 00:00:00 2001 From: Ruggero Cino Date: Fri, 31 May 2024 15:31:02 +0200 Subject: [PATCH 15/15] Setup alchemy-api-key on workflows --- .github/workflows/e2e-tests.yml | 1 + .github/workflows/pull_request_webapp_preview.yml | 1 + .github/workflows/webapp-deploy.yml | 1 + 3 files changed, 3 insertions(+) diff --git a/.github/workflows/e2e-tests.yml b/.github/workflows/e2e-tests.yml index 9863b9a17..3a446ce4a 100644 --- a/.github/workflows/e2e-tests.yml +++ b/.github/workflows/e2e-tests.yml @@ -35,6 +35,7 @@ jobs: VITE_ARBISCAN_API_KEY: ${{secrets.VITE_ARBISCAN_API_KEY}} VITE_BASESCAN_API_KEY: ${{secrets.VITE_BASESCAN_API_KEY}} VITE_GATEWAY_RPC_API_KEY: ${{secrets.VITE_GATEWAY_RPC_API_KEY}} + VITE_GATEWAY_RPC_API_KEY_ALCHEMY: ${{secrets.VITE_GATEWAY_RPC_API_KEY_ALCHEMY}} VITE_WALLET_CONNECT_PROJECT_ID: ${{secrets.VITE_WALLET_CONNECT_PROJECT_ID}} VITE_COVALENT_API_KEY: ${{secrets.VITE_COVALENT_API_KEY}} diff --git a/.github/workflows/pull_request_webapp_preview.yml b/.github/workflows/pull_request_webapp_preview.yml index f5a532807..b892081f1 100644 --- a/.github/workflows/pull_request_webapp_preview.yml +++ b/.github/workflows/pull_request_webapp_preview.yml @@ -48,6 +48,7 @@ jobs: VITE_ETHERSCAN_API_KEY: ${{secrets.VITE_ETHERSCAN_API_KEY}} VITE_POLYGONSCAN_API_KEY: ${{secrets.VITE_POLYGONSCAN_API_KEY}} VITE_GATEWAY_RPC_API_KEY: ${{secrets.VITE_GATEWAY_RPC_API_KEY}} + VITE_GATEWAY_RPC_API_KEY_ALCHEMY: ${{secrets.VITE_GATEWAY_RPC_API_KEY_ALCHEMY}} VITE_WALLET_CONNECT_PROJECT_ID: ${{secrets.VITE_WALLET_CONNECT_PROJECT_ID}} VITE_COVALENT_API_KEY: ${{secrets.VITE_COVALENT_API_KEY}} VITE_SENTRY_DNS: ${{secrets.VITE_SENTRY_DNS}} diff --git a/.github/workflows/webapp-deploy.yml b/.github/workflows/webapp-deploy.yml index 6aab93157..daad5a3a1 100644 --- a/.github/workflows/webapp-deploy.yml +++ b/.github/workflows/webapp-deploy.yml @@ -52,6 +52,7 @@ jobs: VITE_BASESCAN_API_KEY: ${{secrets.VITE_BASESCAN_API_KEY}} VITE_WALLET_CONNECT_PROJECT_ID: ${{secrets.VITE_WALLET_CONNECT_PROJECT_ID}} VITE_GATEWAY_RPC_API_KEY: ${{secrets.VITE_GATEWAY_RPC_API_KEY}} + VITE_GATEWAY_RPC_API_KEY_ALCHEMY: ${{secrets.VITE_GATEWAY_RPC_API_KEY_ALCHEMY}} VITE_COVALENT_API_KEY: ${{secrets.VITE_COVALENT_API_KEY}} VITE_SENTRY_DNS: ${{secrets.VITE_SENTRY_DNS}} VITE_PINATA_CID_VERSION: ${{vars.VITE_PINATA_CID_VERSION}}