Skip to content

Commit 05d8e78

Browse files
novaknoleGiorgi Lagidze
and
Giorgi Lagidze
authored
add zksync sepolia support configuration (#87) (#88)
Co-authored-by: Giorgi Lagidze <[email protected]>
1 parent e96abcd commit 05d8e78

File tree

8 files changed

+189
-25
lines changed

8 files changed

+189
-25
lines changed

configs/CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## v0.5.0
9+
10+
## Added
11+
12+
- Add `zksync-sepolia` network configuration.
13+
814
## v0.4.0
915

1016
### Added

configs/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@aragon/osx-commons-configs",
33
"author": "Aragon X",
4-
"version": "0.4.0",
4+
"version": "0.5.0",
55
"license": "AGPL-3.0-or-later",
66
"typings": "dist/index.d.ts",
77
"main": "dist/index.js",

configs/src/deployments/contracts.ts

+3
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import * as mainnet from './json/mainnet.json';
99
import * as mumbai from './json/mumbai.json';
1010
import * as polygon from './json/polygon.json';
1111
import * as sepolia from './json/sepolia.json';
12+
import * as zksyncSepolia from './json/zksyncSepolia.json';
1213
import {NetworkDeployment, SupportedVersions} from './types';
1314

1415
export {
@@ -22,6 +23,7 @@ export {
2223
baseSepolia,
2324
arbitrum,
2425
arbitrumSepolia,
26+
zksyncSepolia,
2527
};
2628

2729
export const contracts: {
@@ -39,6 +41,7 @@ export const contracts: {
3941
baseSepolia,
4042
arbitrum,
4143
arbitrumSepolia,
44+
zksyncSepolia,
4245
local: {
4346
[SupportedVersions.V1_0_0]: {} as NetworkDeployment,
4447
[SupportedVersions.V1_3_0]: {} as NetworkDeployment,

configs/src/deployments/json/sepolia.json

-5
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,6 @@
2525
"blockNumber": 4421517,
2626
"deploymentTx": "0xcbfcb1b5d907ebda07123addf97f5440981347a5e70b219bcb38f667608c5901"
2727
},
28-
"DAOFactoryBase": {
29-
"address": "0x2C9c5e8F559DBBEc962f7CCd295DBc4183cd2168",
30-
"blockNumber": 4421517,
31-
"deploymentTx": "0xcbfcb1b5d907ebda07123addf97f5440981347a5e70b219bcb38f667608c5901"
32-
},
3328
"DAORegistryProxy": {
3429
"address": "0x308a1DC5020c4B5d992F5543a7236c465997fecB",
3530
"blockNumber": 4421512,
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
{
2+
"v1.3.0": {
3+
"AddresslistVotingSetup": {
4+
"address": "0x3aCa993F1e460e66a859576EDf9fbEb7FA3eE236",
5+
"blockNumber": 2441225,
6+
"deploymentTx": "0x5ad72b2b7e43eb796de5319f5e9b59a8dbcb991e88d56be09cb61798e5129b6d"
7+
},
8+
"AddresslistVotingSetupImplementation": {
9+
"address": "0x43611DA1F86829d64Ad162883449dA3186bafe6d",
10+
"blockNumber": 2441225,
11+
"deploymentTx": "0x5ad72b2b7e43eb796de5319f5e9b59a8dbcb991e88d56be09cb61798e5129b6d"
12+
},
13+
"DAOFactory": {
14+
"address": "0x568A133de13a8566F8FFC8429f9F38dEAB8c2CEA",
15+
"blockNumber": 2441217,
16+
"deploymentTx": "0x7bbeb9435090c339777a1f4bc62f891d2a6faa0ec331dd7a90f0800625d04a37"
17+
},
18+
"DAORegistryProxy": {
19+
"address": "0x9305Ecd8D3837F7AC4f425dA578a0D11352D317A",
20+
"blockNumber": 2441205,
21+
"deploymentTx": "0x8afe5b11a6ff00b478a507ed9acc60a47e7d9b5c8dc43867da4571e87c947186"
22+
},
23+
"DAORegistryImplementation": {
24+
"address": "0x7D12Ef22710aB82415e6d7895Ac98Ff862D6c51a",
25+
"blockNumber": 2441204,
26+
"deploymentTx": "0xae894053f74e473056a27556a76078b3487546949485ec4530842e9c2f6e16f0"
27+
},
28+
"DAOENSSubdomainRegistrarProxy": {
29+
"address": "0x753A6c93189553d5964C121900A76003c5560bC0",
30+
"blockNumber": 2441197,
31+
"deploymentTx": "0x78dba520e9a00ad2f336c13213eff71673e936b2a5c938723671788930dda241"
32+
},
33+
"DAOENSSubdomainRegistrarImplementation": {
34+
"address": "0xbd29608a966beDBfA1E82D3Fe42a33c45E546d94",
35+
"blockNumber": 2441196,
36+
"deploymentTx": "0x9ae4ec0e969268471bf390833cb1fc40c77bf9bfbbcb06288d20b9197c63c949"
37+
},
38+
"ENSRegistry": {
39+
"address": "0xD9d4642F2C04f25c2b4373f5D67D4358e72Ab3B2",
40+
"blockNumber": 2441182,
41+
"deploymentTx": "0x728c28445f45f0e9c534d9805ca4f83af6f113cca7ed316e6b60ce373482dc15"
42+
},
43+
"MultisigSetup": {
44+
"address": "0x2996a24bccB90ea05BAA44ad227f9f693aA36132",
45+
"blockNumber": 2441230,
46+
"deploymentTx": "0x0e9df2282369a365f6dcf72b2342619d0693eb1e2c33c11628aa5adfc3a44aab"
47+
},
48+
"MultisigSetupImplementation": {
49+
"address": "0x3b06db70ceC992000Dbd346dB4b6D910673f3b11",
50+
"blockNumber": 2441230,
51+
"deploymentTx": "0x0e9df2282369a365f6dcf72b2342619d0693eb1e2c33c11628aa5adfc3a44aab"
52+
},
53+
"PlaceholderSetup": {
54+
"address": "0xb0E4DaEbe52E65F0baFb53342DaCBB89bF5c6e9b",
55+
"blockNumber": 2441231,
56+
"deploymentTx": "0x153b3e8fd75477e99d30e39d355c52abb598c992ee64423854722904b19d27fe"
57+
},
58+
"PluginRepoBase": {
59+
"address": "0x3eEBec312413D4e15122C6D35fE1eA6fa607D159",
60+
"blockNumber": 2441210,
61+
"deploymentTx": "0x4779072cfcb8fb2eb442c4323250cc974065f28e511b2615a7533b84fd7e8792"
62+
},
63+
"PluginRepoFactory": {
64+
"address": "0xDC95317b91F7B600f29b0925F5cdD00caD69F543",
65+
"blockNumber": 2441210,
66+
"deploymentTx": "0x4779072cfcb8fb2eb442c4323250cc974065f28e511b2615a7533b84fd7e8792"
67+
},
68+
"PluginRepoRegistryProxy": {
69+
"address": "0x22eE909B94c5FAeee67B7e187ca81E5A291A9EC0",
70+
"blockNumber": 2441208,
71+
"deploymentTx": "0x38c7e55d13d949dd8f8734e38503f189435434f13999f6dbb6981d8405ff9063"
72+
},
73+
"PluginRepoRegistryImplementation": {
74+
"address": "0x9483633FF1b47c81AAb1C2e90F6B1633631D0282",
75+
"blockNumber": 2441207,
76+
"deploymentTx": "0x4d9e10b10a358fc65d5d3b3f20b8c6ddebfb4b5f520b2b45be6e41235bb7583d"
77+
},
78+
"PluginSetupProcessor": {
79+
"address": "0xe2Ef39f1be2269644cBfa9b70003A143bF1fdf4d",
80+
"blockNumber": 2441215,
81+
"deploymentTx": "0x49fb319c2e5041cf0a2bc3c845f94d8f44205eb23001803a538b82c70210b518"
82+
},
83+
"PluginENSSubdomainRegistrarProxy": {
84+
"address": "0x2a73AA8bDb4C528a8d5f38f331Fda3D76529a34E",
85+
"blockNumber": 2441201,
86+
"deploymentTx": "0xfae6e72cadaddb731b2555f0ec74d806f22d709990e4e3a61882d260b1ea49bc"
87+
},
88+
"PluginENSSubdomainRegistrarImplementation": {
89+
"address": "0xeC5F46994a2154ce49ef35845d516Ca63874a649",
90+
"blockNumber": 2441199,
91+
"deploymentTx": "0x93308b0202573c4b65abd16712e4fa8e96785cd8adc7493a70b6222f133c742f"
92+
},
93+
"TokenVotingSetup": {
94+
"address": "0x38dD5dF8A0243A992d310a6F9d1b97542c217aE1",
95+
"blockNumber": 2441227,
96+
"deploymentTx": "0xa44f9e529fc6ea2239518961e9b2e961aa5c65cde3ae69724e28c27dee611cc3"
97+
},
98+
"TokenVotingSetupImplementation": {
99+
"address": "0x45B8540cdb865B1942550b73c898c859CC75fcF6",
100+
"blockNumber": 2441227,
101+
"deploymentTx": "0xa44f9e529fc6ea2239518961e9b2e961aa5c65cde3ae69724e28c27dee611cc3"
102+
},
103+
"AddresslistVotingRepoProxy": {
104+
"address": "0xC4AE44354D97CEFC1ea33BbFB21012DB3BC78D2F",
105+
"blockNumber": 2441233,
106+
"deploymentTx": "0x2ec11cb705689966ffffcc188a7154d38555f31fd5492188ec0213d556f27b5f"
107+
},
108+
"AddresslistVotingRepoImplementation": {
109+
"address": "0x3eEBec312413D4e15122C6D35fE1eA6fa607D159",
110+
"blockNumber": 2441210,
111+
"deploymentTx": "0x4779072cfcb8fb2eb442c4323250cc974065f28e511b2615a7533b84fd7e8792"
112+
},
113+
"ManagementDAOProxy": {
114+
"address": "0xAEa0C1B96a4Cb95BCE15b98AFa87c32c915a3eC0",
115+
"blockNumber": 2441177,
116+
"deploymentTx": "0x4b7ded6dff5c99258f93733505122364acdc0878bd4b5e93d5f7878aec6d9655"
117+
},
118+
"ManagementDAOImplementation": {
119+
"address": "0xC7CE05386fe1602F439ba77720B80c7276d828a4",
120+
"blockNumber": 2441175,
121+
"deploymentTx": "0xf761fac8046e946a026cdee5998f2193cac1c93b3ff52ce7e6cef521b9825415"
122+
},
123+
"MultisigRepoProxy": {
124+
"address": "0x2cae809b6ca149b49cBcA8B887Da2805174052F3",
125+
"blockNumber": 2441244,
126+
"deploymentTx": "0xb0028fbf4b62adddd174a1e8ff21455dfaef543bc68f19043cb75925f47b4159"
127+
},
128+
"MultisigRepoImplementation": {
129+
"address": "0x3eEBec312413D4e15122C6D35fE1eA6fa607D159",
130+
"blockNumber": 2441210,
131+
"deploymentTx": "0x4779072cfcb8fb2eb442c4323250cc974065f28e511b2615a7533b84fd7e8792"
132+
},
133+
"TokenVotingRepoProxy": {
134+
"address": "0x1f5f8f677164AA4D9b4465A99D22e1e01dC24160",
135+
"blockNumber": 2441239,
136+
"deploymentTx": "0xa8e69bf68f38f6bdb3e210e12c6d0d5bd80f41808e3938510f6ae1b43af005b1"
137+
},
138+
"TokenVotingRepoImplementation": {
139+
"address": "0x3eEBec312413D4e15122C6D35fE1eA6fa607D159",
140+
"blockNumber": 2441210,
141+
"deploymentTx": "0x4779072cfcb8fb2eb442c4323250cc974065f28e511b2615a7533b84fd7e8792"
142+
},
143+
"DAOBase": {
144+
"address": "0x764A8DAEB6B3915a413f40d0C818108C5A858085",
145+
"blockNumber": 2441217,
146+
"deploymentTx": "0x7bbeb9435090c339777a1f4bc62f891d2a6faa0ec331dd7a90f0800625d04a37"
147+
}
148+
}
149+
}

configs/src/deployments/types.ts

+21-19
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,9 @@ export type NetworkDeployments = {
1616
// this type defines the structure of the network deployment
1717
// the index is the contract name
1818
export type NetworkDeployment = {
19-
[index in Exclude<
20-
ContractNames,
21-
ContractNames.ENS_REGISTRY
22-
>]: ContractDeployment;
19+
[index in FrameworkContractsNames]: ContractDeployment;
2320
} & {
24-
[ContractNames.ENS_REGISTRY]?: ContractDeployment;
21+
[index in NonFrameworkContractsNames]?: ContractDeployment;
2522
};
2623

2724
export type ContractDeployment = {
@@ -30,40 +27,45 @@ export type ContractDeployment = {
3027
deploymentTx: string;
3128
};
3229

33-
export enum ContractNames {
34-
ADDRESSLIST_VOTING_SETUP = 'AddresslistVotingSetup',
35-
ADDRESSLIST_VOTING_SETUP_IMPLEMENTATION = 'AddresslistVotingSetupImplementation',
36-
ADMIN_SETUP = 'AdminSetup',
37-
ADMIN_SETUP_IMPLEMENTATION = 'AdminSetupImplementation',
30+
// contracts that must always be deployed
31+
export enum FrameworkContractsNames {
3832
DAO_BASE = 'DAOBase',
3933
DAO_FACTORY = 'DAOFactory',
4034
DAO_REGISTRY_PROXY = 'DAORegistryProxy',
4135
DAO_REGISTRY_IMPLEMENTATION = 'DAORegistryImplementation',
4236
DAO_ENS_SUBDOMAIN_REGISTRAR_PROXY = 'DAOENSSubdomainRegistrarProxy',
4337
DAO_ENS_SUBDOMAIN_REGISTRAR_IMPLEMENTATION = 'DAOENSSubdomainRegistrarImplementation',
44-
GOVERNANCE_ERC20 = 'GovernanceERC20',
45-
GOVERNANCE_WRAPPED_ERC20 = 'GovernanceWrappedERC20',
46-
MULTISIG_SETUP = 'MultisigSetup',
47-
MULTISIG_SETUP_IMPLEMENTATION = 'MultisigSetupImplementation',
38+
PLUGIN_SETUP_PROCESSOR = 'PluginSetupProcessor',
4839
PLUGIN_REPO_BASE = 'PluginRepoBase',
4940
PLUGIN_REPO_FACTORY = 'PluginRepoFactory',
5041
PLUGIN_REPO_REGISTRY_PROXY = 'PluginRepoRegistryProxy',
5142
PLUGIN_REPO_REGISTRY_IMPLEMENTATION = 'PluginRepoRegistryImplementation',
52-
PLUGIN_SETUP_PROCESSOR = 'PluginSetupProcessor',
5343
PLUGIN_ENS_SUBDOMAIN_REGISTRAR_PROXY = 'PluginENSSubdomainRegistrarProxy',
5444
PLUGIN_ENS_SUBDOMAIN_REGISTRAR_IMPLEMENTATION = 'PluginENSSubdomainRegistrarImplementation',
55-
TOKEN_VOTING_SETUP = 'TokenVotingSetup',
56-
TOKEN_VOTING_SETUP_IMPLEMENTATION = 'TokenVotingSetupImplementation',
45+
MANAGEMENT_DAO_PROXY = 'ManagementDAOProxy',
46+
MANAGEMENT_DAO_IMPLEMENTATION = 'ManagementDAOImplementation',
47+
}
48+
49+
// contracts that are optionally deployed
50+
export enum NonFrameworkContractsNames {
51+
ADDRESSLIST_VOTING_SETUP = 'AddresslistVotingSetup',
52+
ADDRESSLIST_VOTING_SETUP_IMPLEMENTATION = 'AddresslistVotingSetupImplementation',
5753
ADDRESSLIST_VOTING_REPO_PROXY = 'AddresslistVotingRepoProxy',
5854
ADDRESSLIST_VOTING_REPO_IMPLEMENTATION = 'AddresslistVotingRepoImplementation',
55+
ADMIN_SETUP = 'AdminSetup',
56+
ADMIN_SETUP_IMPLEMENTATION = 'AdminSetupImplementation',
5957
ADMIN_REPO_PROXY = 'AdminRepoProxy',
6058
ADMIN_REPO_IMPLEMENTATION = 'AdminRepoImplementation',
61-
MANAGEMENT_DAO_PROXY = 'ManagementDAOProxy',
62-
MANAGEMENT_DAO_IMPLEMENTATION = 'ManagementDAOImplementation',
59+
MULTISIG_SETUP = 'MultisigSetup',
60+
MULTISIG_SETUP_IMPLEMENTATION = 'MultisigSetupImplementation',
6361
MULTISIG_REPO_PROXY = 'MultisigRepoProxy',
6462
MULTISIG_REPO_IMPLEMENTATION = 'MultisigRepoImplementation',
63+
TOKEN_VOTING_SETUP = 'TokenVotingSetup',
64+
TOKEN_VOTING_SETUP_IMPLEMENTATION = 'TokenVotingSetupImplementation',
6565
TOKEN_VOTING_REPO_PROXY = 'TokenVotingRepoProxy',
6666
TOKEN_VOTING_REPO_IMPLEMENTATION = 'TokenVotingRepoImplementation',
67+
GOVERNANCE_ERC20 = 'GovernanceERC20',
68+
GOVERNANCE_WRAPPED_ERC20 = 'GovernanceWrappedERC20',
6769
ENS_REGISTRY = 'ENSRegistry',
6870
}
6971

configs/src/networks/networks.ts

+8
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,12 @@ export const networks: NetworkConfigs = {
8686
alchemySubgraphs: 'arbitrum-sepolia',
8787
},
8888
},
89+
[SupportedNetworks.ZKSYNC_SEPOLIA]: {
90+
chainId: 300,
91+
isTestnet: true,
92+
name: SupportedNetworks.ZKSYNC_SEPOLIA,
93+
aliases: {},
94+
},
8995
[SupportedNetworks.LOCAL]: {
9096
isTestnet: true,
9197
chainId: 31337,
@@ -105,6 +111,8 @@ export const networksAlchemyRpcUrl: NetworkRpcUrl = {
105111
[SupportedNetworks.BASE_SEPOLIA]: 'https://base-sepolia.g.alchemy.com/v2/',
106112
[SupportedNetworks.ARBITRUM]: 'https://arb-mainnet.g.alchemy.com/v2/',
107113
[SupportedNetworks.ARBITRUM_SEPOLIA]: 'https://arb-sepolia.g.alchemy.com/v2/',
114+
[SupportedNetworks.ZKSYNC_SEPOLIA]:
115+
'https://zksync-sepolia.g.alchemy.com/v2/',
108116
[SupportedNetworks.LOCAL]: 'http://localhost:8545',
109117
};
110118

configs/src/networks/types.ts

+1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ export enum SupportedNetworks {
1515
BASE_SEPOLIA = 'baseSepolia',
1616
ARBITRUM = 'arbitrum',
1717
ARBITRUM_SEPOLIA = 'arbitrumSepolia',
18+
ZKSYNC_SEPOLIA = 'zksyncSepolia',
1819
LOCAL = 'local',
1920
}
2021

0 commit comments

Comments
 (0)