From ee45d0eb780e563e58db38b56ea0b4bb5eba6132 Mon Sep 17 00:00:00 2001 From: josemarinas <36479864+josemarinas@users.noreply.github.com> Date: Tue, 31 Oct 2023 15:21:04 +0100 Subject: [PATCH] Feature: Add support for arbitrum (#296) * add support for arbitrum * add support for arbitrum --- modules/client-common/CHANGELOG.md | 6 ++ modules/client-common/package.json | 4 +- modules/client-common/src/constants.ts | 84 ++++++++++++++++++- modules/client-common/src/types.ts | 2 + modules/client/CHANGELOG.md | 4 + modules/client/package.json | 6 +- .../src/internal/graphql-queries/plugin.ts | 4 +- 7 files changed, 102 insertions(+), 8 deletions(-) diff --git a/modules/client-common/CHANGELOG.md b/modules/client-common/CHANGELOG.md index 9fe3ee5fe..d6e133049 100644 --- a/modules/client-common/CHANGELOG.md +++ b/modules/client-common/CHANGELOG.md @@ -18,6 +18,12 @@ TEMPLATE: --> ## [UPCOMING] +### Added + +- Add support for arbitrum network + + +## [1.9.0] ### Changed diff --git a/modules/client-common/package.json b/modules/client-common/package.json index 000ecc157..d6809eaa6 100644 --- a/modules/client-common/package.json +++ b/modules/client-common/package.json @@ -1,7 +1,7 @@ { "name": "@aragon/sdk-client-common", "author": "Aragon Association", - "version": "1.9.0", + "version": "1.10.0", "license": "MIT", "main": "dist/index.js", "module": "dist/sdk-client-common.esm.js", @@ -58,7 +58,7 @@ }, "dependencies": { "@aragon/osx-ethers-v1.0.0": "npm:@aragon/osx-ethers@1.2.1", - "@aragon/osx-ethers": "^1.3.0-rc0.3", + "@aragon/osx-ethers": "^1.3.0-rc0.4", "@aragon/sdk-ipfs": "^1.1.0", "@ethersproject/abstract-signer": "^5.5.0", "@ethersproject/bignumber": "^5.6.0", diff --git a/modules/client-common/src/constants.ts b/modules/client-common/src/constants.ts index 242db243e..47b38d24e 100644 --- a/modules/client-common/src/constants.ts +++ b/modules/client-common/src/constants.ts @@ -18,7 +18,9 @@ type GraphqlNetworks = | "baseGoerli" | "baseMainnet" | "local" - | "sepolia"; + | "sepolia" + | "arbitrum-one" + | "arbitrum-goerli"; const SupportedNetworksToGraphqlNetworks: { [K in SupportedNetwork]: GraphqlNetworks; @@ -31,6 +33,8 @@ const SupportedNetworksToGraphqlNetworks: { [SupportedNetwork.BASE]: "baseMainnet", [SupportedNetwork.LOCAL]: "local", [SupportedNetwork.SEPOLIA]: "sepolia", + [SupportedNetwork.ARBITRUM]: "arbitrum-one", + [SupportedNetwork.ARBITRUM_GOERLI]: "arbitrum-goerli", }; export const UNSUPPORTED_PROPOSAL_METADATA_LINK: ProposalMetadata = { @@ -75,6 +79,12 @@ export const GRAPHQL_NODES: { [K in SupportedNetwork]: { url: string }[] } = { [SupportedNetwork.SEPOLIA]: [{ url: getGraphqlNode(SupportedNetwork.SEPOLIA), }], + [SupportedNetwork.ARBITRUM]: [{ + url: getGraphqlNode(SupportedNetwork.ARBITRUM), + }], + [SupportedNetwork.ARBITRUM_GOERLI]: [{ + url: getGraphqlNode(SupportedNetwork.ARBITRUM_GOERLI), + }], }; const IPFS_ENDPOINTS = { @@ -110,6 +120,8 @@ export const IPFS_NODES: { [SupportedNetwork.BASE_GOERLI]: IPFS_ENDPOINTS.test, [SupportedNetwork.LOCAL]: IPFS_ENDPOINTS.test, [SupportedNetwork.SEPOLIA]: IPFS_ENDPOINTS.test, + [SupportedNetwork.ARBITRUM]: IPFS_ENDPOINTS.prod, + [SupportedNetwork.ARBITRUM_GOERLI]: IPFS_ENDPOINTS.test, }; export const LIVE_CONTRACTS: { @@ -238,6 +250,32 @@ export const LIVE_CONTRACTS: { tokenVotingSetupAddress: "", ensRegistryAddress: "", }, + [SupportedNetwork.ARBITRUM]: { + daoFactoryAddress: "", + pluginSetupProcessorAddress: "", + multisigRepoAddress: "", + adminRepoAddress: "", + addresslistVotingRepoAddress: "", + tokenVotingRepoAddress: "", + multisigSetupAddress: "", + adminSetupAddress: "", + addresslistVotingSetupAddress: "", + tokenVotingSetupAddress: "", + ensRegistryAddress: "", + }, + [SupportedNetwork.ARBITRUM_GOERLI]: { + daoFactoryAddress: "", + pluginSetupProcessorAddress: "", + multisigRepoAddress: "", + adminRepoAddress: "", + addresslistVotingRepoAddress: "", + tokenVotingRepoAddress: "", + multisigSetupAddress: "", + adminSetupAddress: "", + addresslistVotingSetupAddress: "", + tokenVotingSetupAddress: "", + ensRegistryAddress: "", + }, }, [SupportedVersion.V1_3_0]: { [SupportedNetwork.MAINNET]: { @@ -365,6 +403,38 @@ export const LIVE_CONTRACTS: { tokenVotingSetupAddress: activeContractsList.sepolia.TokenVotingSetup, ensRegistryAddress: activeContractsList.sepolia.ENSRegistry, }, + [SupportedNetwork.ARBITRUM]: { + daoFactoryAddress: activeContractsList.arbitrum.DAOFactory, + pluginSetupProcessorAddress: + activeContractsList.arbitrum.PluginSetupProcessor, + multisigRepoAddress: activeContractsList.arbitrum["multisig-repo"], + adminRepoAddress: activeContractsList.arbitrum["admin-repo"], + addresslistVotingRepoAddress: + activeContractsList.arbitrum["address-list-voting-repo"], + tokenVotingRepoAddress: activeContractsList.arbitrum["token-voting-repo"], + multisigSetupAddress: activeContractsList.arbitrum.MultisigSetup, + adminSetupAddress: activeContractsList.arbitrum.AdminSetup, + addresslistVotingSetupAddress: + activeContractsList.arbitrum.AddresslistVotingSetup, + tokenVotingSetupAddress: activeContractsList.arbitrum.TokenVotingSetup, + ensRegistryAddress: activeContractsList.arbitrum.ENSRegistry, + }, + [SupportedNetwork.ARBITRUM_GOERLI]: { + daoFactoryAddress: activeContractsList.arbitrumGoerli.DAOFactory, + pluginSetupProcessorAddress: + activeContractsList.arbitrumGoerli.PluginSetupProcessor, + multisigRepoAddress: activeContractsList.arbitrumGoerli["multisig-repo"], + adminRepoAddress: activeContractsList.arbitrumGoerli["admin-repo"], + addresslistVotingRepoAddress: + activeContractsList.arbitrumGoerli["address-list-voting-repo"], + tokenVotingRepoAddress: activeContractsList.arbitrumGoerli["token-voting-repo"], + multisigSetupAddress: activeContractsList.arbitrumGoerli.MultisigSetup, + adminSetupAddress: activeContractsList.arbitrumGoerli.AdminSetup, + addresslistVotingSetupAddress: + activeContractsList.arbitrumGoerli.AddresslistVotingSetup, + tokenVotingSetupAddress: activeContractsList.arbitrumGoerli.TokenVotingSetup, + ensRegistryAddress: activeContractsList.arbitrumGoerli.ENSRegistry, + }, }, }; export const ADDITIONAL_NETWORKS: Network[] = [ @@ -376,6 +446,18 @@ export const ADDITIONAL_NETWORKS: Network[] = [ name: "base", chainId: 8453, }, + { + name: "arbitrum", + chainId: 42161, + }, + { + name: "arbitrumGoerli", + chainId: 421613, + }, + { + name: "sepolia", + chainId: 58008, + }, { name: "local", chainId: 31337, diff --git a/modules/client-common/src/types.ts b/modules/client-common/src/types.ts index de2af5d4e..0e086afd9 100644 --- a/modules/client-common/src/types.ts +++ b/modules/client-common/src/types.ts @@ -37,6 +37,8 @@ export enum SupportedNetwork { BASE_GOERLI = "baseGoerli", LOCAL = "local", SEPOLIA = "sepolia", + ARBITRUM = "arbitrum", + ARBITRUM_GOERLI = "arbitrumGoerli", } export const SupportedNetworksArray = Object.values(SupportedNetwork); diff --git a/modules/client/CHANGELOG.md b/modules/client/CHANGELOG.md index 3fbcbdfb6..5fb384b5a 100644 --- a/modules/client/CHANGELOG.md +++ b/modules/client/CHANGELOG.md @@ -18,7 +18,11 @@ TEMPLATE: --> ## [UPCOMING] +### Added + +- Support for arbitrum network +## [1.18.0] ### Fixed - Fix support for subgraph 1.3.1 diff --git a/modules/client/package.json b/modules/client/package.json index d4d39cbbf..dbfc62fae 100644 --- a/modules/client/package.json +++ b/modules/client/package.json @@ -1,7 +1,7 @@ { "name": "@aragon/sdk-client", "author": "Aragon Association", - "version": "1.17.1", + "version": "1.18.0", "license": "MIT", "main": "dist/index.js", "module": "dist/sdk-client.esm.js", @@ -61,8 +61,8 @@ "typescript": "^4.6.2" }, "dependencies": { - "@aragon/osx-ethers": "1.3.0-rc0.3", - "@aragon/sdk-client-common": "^1.9.0", + "@aragon/osx-ethers": "1.3.0-rc0.4", + "@aragon/sdk-client-common": "^1.10.0", "@aragon/sdk-ipfs": "^1.1.0", "@ethersproject/abstract-signer": "^5.5.0", "@ethersproject/bignumber": "^5.6.0", diff --git a/modules/client/src/internal/graphql-queries/plugin.ts b/modules/client/src/internal/graphql-queries/plugin.ts index f72e8adc8..7d58ebcb9 100644 --- a/modules/client/src/internal/graphql-queries/plugin.ts +++ b/modules/client/src/internal/graphql-queries/plugin.ts @@ -57,7 +57,7 @@ query IPlugin($address: ID!, $where: IPlugin_filter!) { `; export const QueryPluginPreparations = gql` -query PluginPreparations($where: PluginUpdatePreparation_filter!) { +query PluginPreparations($where: PluginPreparation_filter!) { pluginPreparations(where: $where){ data } @@ -65,7 +65,7 @@ query PluginPreparations($where: PluginUpdatePreparation_filter!) { `; export const QueryPluginPreparationsExtended = gql` -query PluginPreparations($where: PluginUpdatePreparation_filter!, limit: Int!, skip: Int!, direction: OrderDirection!, sortBy: PluginUpdatePreparation_orderBy!) { +query PluginPreparations($where: PluginPreparation_filter!, $limit: Int!, $skip: Int!, $direction: OrderDirection!, $sortBy: PluginPreparation_orderBy!) { pluginPreparations(where: $where, first: $limit, skip: $skip, orderDirection: $direction, orderBy: $sortBy){ id type