diff --git a/configs/CHANGELOG.md b/configs/CHANGELOG.md index e2b2699d..b3ff10d5 100644 --- a/configs/CHANGELOG.md +++ b/configs/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.7.0-alpha.1 + +## Added + +- Add `devSepolia` network configuration. Test deployment on sepolia/ + ## v0.7.0 ## Added diff --git a/configs/package.json b/configs/package.json index dfb35880..8e206df7 100644 --- a/configs/package.json +++ b/configs/package.json @@ -1,7 +1,7 @@ { "name": "@aragon/osx-commons-configs", "author": "Aragon X", - "version": "0.7.0", + "version": "0.7.0-alpha.1", "license": "AGPL-3.0-or-later", "typings": "dist/index.d.ts", "main": "dist/index.js", diff --git a/configs/src/deployments/contracts.ts b/configs/src/deployments/contracts.ts index 9c7bbd77..5c6ed461 100644 --- a/configs/src/deployments/contracts.ts +++ b/configs/src/deployments/contracts.ts @@ -4,6 +4,7 @@ import * as arbitrumSepolia from './json/arbitrumSepolia.json'; import * as baseGoerli from './json/baseGoerli.json'; import * as baseMainnet from './json/baseMainnet.json'; import * as baseSepolia from './json/baseSepolia.json'; +import * as devSepolia from './json/devSepolia.json'; import * as goerli from './json/goerli.json'; import * as holesky from './json/holesky.json'; import * as mainnet from './json/mainnet.json'; @@ -28,6 +29,7 @@ export { arbitrumSepolia, zksyncSepolia, zksyncMainnet, + devSepolia, }; export const contracts: { @@ -48,6 +50,7 @@ export const contracts: { arbitrumSepolia, zksyncSepolia, zksyncMainnet, + devSepolia, local: { [SupportedVersions.V1_0_0]: {} as NetworkDeployment, [SupportedVersions.V1_3_0]: {} as NetworkDeployment, diff --git a/configs/src/deployments/ens.ts b/configs/src/deployments/ens.ts index fa7b6dfa..f4d39e0e 100644 --- a/configs/src/deployments/ens.ts +++ b/configs/src/deployments/ens.ts @@ -11,4 +11,8 @@ export const exceptionalDomains: ENSNetworkDomainsMap = { daoEns: 'aragon-dao.eth', pluginEns: 'plugin.aragon-dao.eth', }, + [SupportedNetworks.DEV_SEPOLIA]: { + daoEns: 'osx-aragon-dao.eth', + pluginEns: 'plugin.osx-aragon-dao.eth', + }, }; diff --git a/configs/src/deployments/json/devSepolia.json b/configs/src/deployments/json/devSepolia.json new file mode 100644 index 00000000..3b8e3eeb --- /dev/null +++ b/configs/src/deployments/json/devSepolia.json @@ -0,0 +1,170 @@ +{ + "v1.3.0": { + "DAOFactory": { + "address": "0x23b2070d5f8E7B55644D86a0603e72A53393f539", + "blockNumber": 6415646, + "deploymentTx": "0xd37e7e180a257266587b5400fb4e1bc70abab6174a9b35136d5055a6bfa7dc96" + }, + "DAORegistryProxy": { + "address": "0x11C12ECfdDa98e19D765904DCe1Ac2C0504F64c5", + "blockNumber": 6415641, + "deploymentTx": "0xf10b2efb96f2833beb4a8cacfcd72bc26f8b1a834272cc59f756fa6dfb412bcd" + }, + "DAORegistryImplementation": { + "address": "0x6e78f5fb862e2eA1ef4a68d35FdDA7DDCB02096B", + "blockNumber": 6415640, + "deploymentTx": "0x65766b368cca6496b1375560d188f8ff36003e20131422b688b75c95284aba4b" + }, + "DAOENSSubdomainRegistrarProxy": { + "address": "0x3D38A2927CdC0b67635DF8Da641523bE0e8cC936", + "blockNumber": 6415636, + "deploymentTx": "0xccc1a5f327da909c269bae2bed0fe8135041cbc8a5c0386832679f8861a7d68e" + }, + "DAOENSSubdomainRegistrarImplementation": { + "address": "0x6183a5C3EC88aD1033D29Dd0CCDA35d993F41C8a", + "blockNumber": 6415635, + "deploymentTx": "0x426618ba0d989625c9a7dba301dc14a525bb703141480200f41b7fc51012d6b3" + }, + "DAOBase": { + "address": "0xe660682c6BB0c27435F8C9Df94840d2464d1E0E9", + "blockNumber": 6415646, + "deploymentTx": "0xd37e7e180a257266587b5400fb4e1bc70abab6174a9b35136d5055a6bfa7dc96" + }, + "PluginRepoBase": { + "address": "0x9C61D4266815bdd32f4D2885B6CF5763F449050B", + "blockNumber": 6415644, + "deploymentTx": "0xd16d911f1b49d959bb37d1b5356805c22a22481922ca798e43381b4e954e90e2" + }, + "PluginRepoFactory": { + "address": "0x9E96154Fb587285955974c9a141a093f53aBb9E3", + "blockNumber": 6415644, + "deploymentTx": "0xd16d911f1b49d959bb37d1b5356805c22a22481922ca798e43381b4e954e90e2" + }, + "PluginRepoRegistryProxy": { + "address": "0xf05128AaE416d6Dd5B1AcCAf18F3E5B1d489b3A4", + "blockNumber": 6415643, + "deploymentTx": "0xf39a760a955db7678183aa6449c0a63f4e8b4fe07c20ece4e7ed07c23e75b867" + }, + "PluginRepoRegistryImplementation": { + "address": "0xaE75D9b9791223C224419414A7462942EDcBAC9d", + "blockNumber": 6415642, + "deploymentTx": "0x9d852da36471b9dda36b46a170fdfe50dde1d503638bfd06631ee0879612d90a" + }, + "PluginSetupProcessor": { + "address": "0x9e99D11b513dD2cc5e117a5793412106502FF04B", + "blockNumber": 6415645, + "deploymentTx": "0x77e1da37eedc4d1b208ef5b94373e9f8fbf8407f2329cc64ed642bc407b60e78" + }, + "PluginENSSubdomainRegistrarProxy": { + "address": "0xE13b0AB38Acf854c3E789948ADdaD918823F0069", + "blockNumber": 6415638, + "deploymentTx": "0xcfc89a665a698b12225332bf5697363efe2d2ccc684b03fce2c6a35ec72fc626" + }, + "PluginENSSubdomainRegistrarImplementation": { + "address": "0xf52053738c130D847E4B0686280CeECeA506B9f3", + "blockNumber": 6415637, + "deploymentTx": "0x185130efd16b9868d284040b740ca0d0850c6a54bd46e3ca672434d0940f2af9" + }, + "ManagementDAOProxy": { + "address": "0x61fc858Cf5a40c5b77909Fe22d05A5Af5539b6e0", + "blockNumber": 6415414, + "deploymentTx": "0x403f8a9482d9583e9861e910a816e73a0a00a9164dc9cd7952ed995a9468191e" + }, + "ManagementDAOImplementation": { + "address": "0x1aE4e907234E0f99a9ae2A89a9Bf58Bec417aA71", + "blockNumber": 6415412, + "deploymentTx": "0xb327327c3502732f58ff0748924869841f9ac925bb04143302cdcb22068e3c37" + }, + + "AdminRepoProxy": { + "address": "0xEdA3074437375DC71007AFC9D421644656d72287", + "blockNumber": 6422609, + "deploymentTx": "0x515700b942334ab9d0d7a8eecc7d92b1deb3cc1826026ce818182cfa8205e8f5" + }, + "AdminRepoImplementation": { + "address": "0x2475F9918b366735D07cc1275fA638485B58C07c", + "blockNumber": 6415644, + "deploymentTx": "0xd16d911f1b49d959bb37d1b5356805c22a22481922ca798e43381b4e954e90e2" + }, + "AdminSetup": { + "address": "0x73b082b884AEF34A7B39eb1e1d0947A55F7D2e40", + "blockNumber": 422609, + "deploymentTx": "0x515700b942334ab9d0d7a8eecc7d92b1deb3cc1826026ce818182cfa8205e8f5" + }, + "AdminSetupImplementation": { + "address": "0x396C3898bf417281596420416413aaAe76a32C01", + "blockNumber": 6418715, + "deploymentTx": "0x15489a2a4b876a6094b2277cc659f157c4e9c88d1b435c6b097e91e34810ee61" + }, + "MultisigRepoProxy": { + "address": "0xA0901B5BC6e04F14a9D0d094653E047644586DdE", + "blockNumber": 6416894, + "deploymentTx": "0xdd388d8f9c36f6333b6cee60e84060866003c5ce31d78c7c0ca491ab2d63c535" + }, + "MultisigRepoImplementation": { + "address": "0x9C61D4266815bdd32f4D2885B6CF5763F449050B", + "blockNumber": 6415644, + "deploymentTx": "0xd16d911f1b49d959bb37d1b5356805c22a22481922ca798e43381b4e954e90e2" + }, + "MultisigSetup": { + "address": "0x21D379EfC583FB80a00B992B42A72D3D9db693fF", + "blockNumber": 6422538, + "deploymentTx": "0x249a1f763d3fc46d39258a9a6938c3f3d26d1765210690a101029c498c52d9ea" + }, + "MultisigSetupImplementation": { + "address": "0xeDf2C1708Cfc105ca2505f099cEf866D541B21ae", + "blockNumber": 6422538, + "deploymentTx": "0x249a1f763d3fc46d39258a9a6938c3f3d26d1765210690a101029c498c52d9ea" + }, + "TokenVotingRepoProxy": { + "address": "0x6241ad0D3f162028d2e0000f1A878DBc4F5c4aD0", + "blockNumber": 6418853, + "deploymentTx": "0xa70ed21d5440e3109b2a36f356b53995b58469ce9506eeca118f324bc6f4efc5" + }, + "TokenVotingRepoImplementation": { + "address": "0x9C61D4266815bdd32f4D2885B6CF5763F449050B", + "blockNumber": 6415644, + "deploymentTx": "0xd16d911f1b49d959bb37d1b5356805c22a22481922ca798e43381b4e954e90e2" + }, + "TokenVotingSetup": { + "address": "0xAD4f235E82BD73b5B9c93915024062D88Bf51e90", + "blockNumber": 6422782, + "deploymentTx": "0x9d8720d172fb75a0f044068b36b3ebc2b1bb0105eb2ed634300ccbd0b5e38e6d" + }, + "TokenVotingSetupImplementation": { + "address": "0x14828E7C567Ff951295B76b80Ed6bf38A03B5006", + "blockNumber": 6422782, + "deploymentTx": "0x9d8720d172fb75a0f044068b36b3ebc2b1bb0105eb2ed634300ccbd0b5e38e6d" + }, + "GovernanceERC20": { + "address": "0x70c0e74bb54712372B3aFE55b24C1ED6eDf7AA02", + "blockNumber": 6418854, + "deploymentTx": "0xfa5612f824dcd030e5b63014e5277534fb4fe05cb16b32d6b70e77554edfa530" + }, + "GovernanceWrappedERC20": { + "address": "0x0395CF05b10D4bDcFf8BC8C5c0e15333fDd80bDa", + "blockNumber": 6418855, + "deploymentTx": "0xbc3f33a9f0522e169f03125af33c354b96ca3d2619e59fe22f4c283b5db1ea58" + }, + "StagedProposalProcessorRepoProxy": { + "address": "0xE67b8E026d190876704292442A38163Ce6945d6b", + "blockNumber": 6421862, + "deploymentTx": "0xc9eec74e6c05b9ae7ec4b30322d11e3328056d494fc98fd8ee0b32d29e15ad96" + }, + "StagedProposalProcessorRepoImplementation": { + "address": "0x9C61D4266815bdd32f4D2885B6CF5763F449050B", + "blockNumber": 6415644, + "deploymentTx": "0xd16d911f1b49d959bb37d1b5356805c22a22481922ca798e43381b4e954e90e2" + }, + "StagedProposalProcessorSetup": { + "address": "0x76bE7c6f3C543BdE9791F5E6CE912729577846e7", + "blockNumber": 6421862, + "deploymentTx": "0x23c2821aec584085666e489e624ba7f18d8d144cefadfd5d825f2be0108fc087" + }, + "StagedProposalProcessorSetupImplementation": { + "address": "0x266054ee2c57012232aa9e66887a8C9760C12E40", + "blockNumber": 6421862, + "deploymentTx": "0x23c2821aec584085666e489e624ba7f18d8d144cefadfd5d825f2be0108fc087" + } + } +} diff --git a/configs/src/deployments/types.ts b/configs/src/deployments/types.ts index bfb23566..3c561bd1 100644 --- a/configs/src/deployments/types.ts +++ b/configs/src/deployments/types.ts @@ -67,6 +67,10 @@ export enum NonFrameworkContractsNames { GOVERNANCE_ERC20 = 'GovernanceERC20', GOVERNANCE_WRAPPED_ERC20 = 'GovernanceWrappedERC20', ENS_REGISTRY = 'ENSRegistry', + STAGED_PROPOSAL_PROCESSOR_REPO_PROXY = 'StagedProposalProcessorRepoProxy', + STAGED_PROPOSAL_PROCESSOR_REPO_IMPLEMENTATION = 'StagedProposalProcessorRepoImplementation', + STAGED_PROPOSAL_PROCESSOR_SETUP = 'StagedProposalProcessorSetup', + STAGED_PROPOSAL_PROCESSOR_SETUP_IMPLEMENTATION = 'StagedProposalProcessorSetupImplementation', } export type ENSNetworkDomain = { diff --git a/configs/src/networks/getters.ts b/configs/src/networks/getters.ts index 4b2c5a5d..ff5b1228 100644 --- a/configs/src/networks/getters.ts +++ b/configs/src/networks/getters.ts @@ -16,9 +16,13 @@ export function getNetwork(network: SupportedNetworks): NetworkConfig | null { } export function getNetworkByChainId(chainId: number): NetworkConfig | null { - return ( - Object.values(networks).find(network => network.chainId === chainId) || null - ); + return chainId === 0 + ? networks[SupportedNetworks.DEV_SEPOLIA] + : Object.values(networks).find( + network => + network.chainId === chainId && + network.name !== SupportedNetworks.DEV_SEPOLIA + ) || null; } /** diff --git a/configs/src/networks/networks.ts b/configs/src/networks/networks.ts index fb52a341..6653dc95 100644 --- a/configs/src/networks/networks.ts +++ b/configs/src/networks/networks.ts @@ -21,6 +21,12 @@ export const networks: NetworkConfigs = { name: SupportedNetworks.SEPOLIA, aliases: {}, }, + [SupportedNetworks.DEV_SEPOLIA]: { + isTestnet: true, + chainId: 11155111, + name: SupportedNetworks.DEV_SEPOLIA, + aliases: {}, + }, [SupportedNetworks.HOLESKY]: { isTestnet: true, chainId: 17000, @@ -116,6 +122,7 @@ export const networksAlchemyRpcUrl: NetworkRpcUrl = { [SupportedNetworks.MAINNET]: 'https://eth-mainnet.g.alchemy.com/v2/', [SupportedNetworks.GOERLI]: 'https://eth-goerli.g.alchemy.com/v2/', [SupportedNetworks.SEPOLIA]: 'https://eth-sepolia.g.alchemy.com/v2/', + [SupportedNetworks.DEV_SEPOLIA]: 'https://eth-sepolia.g.alchemy.com/v2/', [SupportedNetworks.HOLESKY]: 'https://eth-holesky.g.alchemy.com/v2/', [SupportedNetworks.POLYGON]: 'https://polygon-mainnet.g.alchemy.com/v2/', [SupportedNetworks.MUMBAI]: 'https://polygon-mumbai.g.alchemy.com/v2/', diff --git a/configs/src/networks/types.ts b/configs/src/networks/types.ts index 907aafd0..901fce4e 100644 --- a/configs/src/networks/types.ts +++ b/configs/src/networks/types.ts @@ -8,6 +8,7 @@ export enum SupportedNetworks { MAINNET = 'mainnet', GOERLI = 'goerli', SEPOLIA = 'sepolia', + DEV_SEPOLIA = 'devSepolia', HOLESKY = 'holesky', POLYGON = 'polygon', MUMBAI = 'mumbai', diff --git a/configs/src/test/unit/deployments/ens.test.ts b/configs/src/test/unit/deployments/ens.test.ts index ed1aacc0..bbfcff5a 100644 --- a/configs/src/test/unit/deployments/ens.test.ts +++ b/configs/src/test/unit/deployments/ens.test.ts @@ -25,7 +25,7 @@ describe('Domains', () => { for (const network of Object.values(SupportedNetworks)) { if (exceptionalDomains[network]) { expect(getPluginEnsDomain(network)).toMatch( - exceptionalDomains[network]?.daoEns ?? '' + exceptionalDomains[network]?.pluginEns ?? '' ); } else { expect(getPluginEnsDomain(network)).toMatch(commonDomain.pluginEns); diff --git a/configs/src/test/unit/networks.test.ts b/configs/src/test/unit/networks.test.ts index 04397c62..22b9601d 100644 --- a/configs/src/test/unit/networks.test.ts +++ b/configs/src/test/unit/networks.test.ts @@ -134,7 +134,10 @@ describe('Deployments', () => { it('should get the network given the chainId', () => { const inputs = Object.values(SupportedNetworks).map(network => { return { - network: networks[network].chainId, + network: + network === SupportedNetworks.DEV_SEPOLIA + ? 0 + : networks[network].chainId, expected: networks[network], }; });