diff --git a/.changeset/eleven-doodles-kiss.md b/.changeset/eleven-doodles-kiss.md
new file mode 100644
index 0000000000..5b4e51206e
--- /dev/null
+++ b/.changeset/eleven-doodles-kiss.md
@@ -0,0 +1,5 @@
+---
+"@aragon/app": minor
+---
+
+Support Citrea network
diff --git a/public/networks/citrea.svg b/public/networks/citrea.svg
new file mode 100644
index 0000000000..6c92d6aef0
--- /dev/null
+++ b/public/networks/citrea.svg
@@ -0,0 +1,9 @@
+
diff --git a/src/modules/capitalFlow/constants/capitalFlowAddresses.ts b/src/modules/capitalFlow/constants/capitalFlowAddresses.ts
index 493b286608..a5c2ff19eb 100644
--- a/src/modules/capitalFlow/constants/capitalFlowAddresses.ts
+++ b/src/modules/capitalFlow/constants/capitalFlowAddresses.ts
@@ -36,6 +36,23 @@ export const capitalFlowAddresses: Record> = {
'0x0000000000000000000000000000000000000000',
uniswapRouterPluginRepo: '0x0000000000000000000000000000000000000000',
},
+ [Network.CITREA_MAINNET]: {
+ // model factories
+ routerModelFactory: '0x0000000000000000000000000000000000000000',
+ omniModelFactory: '0x0000000000000000000000000000000000000000',
+ // source factories
+ routerSourceFactory: '0x0000000000000000000000000000000000000000',
+ claimerSourceFactory: '0x0000000000000000000000000000000000000000',
+ omniSourceFactory: '0x0000000000000000000000000000000000000000',
+ // plugin repos
+ routerPluginRepo: '0x0000000000000000000000000000000000000000',
+ claimerPluginRepo: '0x0000000000000000000000000000000000000000',
+ burnRouterPluginRepo: '0x0000000000000000000000000000000000000000',
+ cowSwapRouterPluginRepo: '0x0000000000000000000000000000000000000000',
+ multiDispatchRouterPluginRepo:
+ '0x0000000000000000000000000000000000000000',
+ uniswapRouterPluginRepo: '0x0000000000000000000000000000000000000000',
+ },
[Network.ETHEREUM_MAINNET]: {
// model factories
routerModelFactory: '0x0000000000000000000000000000000000000000',
diff --git a/src/plugins/adminPlugin/constants/adminPlugin.ts b/src/plugins/adminPlugin/constants/adminPlugin.ts
index b94352de92..deec1daf22 100644
--- a/src/plugins/adminPlugin/constants/adminPlugin.ts
+++ b/src/plugins/adminPlugin/constants/adminPlugin.ts
@@ -17,6 +17,7 @@ export const adminPlugin: IPluginInfo = {
[Network.ARBITRUM_MAINNET]:
'0x326A2aee6A8eE78D79E7E956DE60C6E452f76a8e',
[Network.BASE_MAINNET]: '0x212eF339C77B3390599caB4D46222D79fAabcb5c',
+ [Network.CITREA_MAINNET]: '0x7eE0108dfe487D27B5c077E486a88E167321242E',
[Network.ETHEREUM_MAINNET]:
'0xA4371a239D08bfBA6E8894eccf8466C6323A52C3',
[Network.ETHEREUM_SEPOLIA]:
diff --git a/src/plugins/capitalDistributorPlugin/constants/capitalDistributorPlugin.ts b/src/plugins/capitalDistributorPlugin/constants/capitalDistributorPlugin.ts
index f9a8922bc9..1b3ba31e5b 100644
--- a/src/plugins/capitalDistributorPlugin/constants/capitalDistributorPlugin.ts
+++ b/src/plugins/capitalDistributorPlugin/constants/capitalDistributorPlugin.ts
@@ -15,6 +15,7 @@ export const capitalDistributorPlugin: IPluginInfo = {
[Network.ARBITRUM_MAINNET]:
'0x0000000000000000000000000000000000000000',
[Network.BASE_MAINNET]: '0x0000000000000000000000000000000000000000',
+ [Network.CITREA_MAINNET]: '0x0000000000000000000000000000000000000000',
[Network.ETHEREUM_MAINNET]:
'0x0000000000000000000000000000000000000000',
[Network.ETHEREUM_SEPOLIA]:
diff --git a/src/plugins/gaugeVoterPlugin/constants/gaugeVoterPlugin.ts b/src/plugins/gaugeVoterPlugin/constants/gaugeVoterPlugin.ts
index f21ae2abff..22d1102f63 100644
--- a/src/plugins/gaugeVoterPlugin/constants/gaugeVoterPlugin.ts
+++ b/src/plugins/gaugeVoterPlugin/constants/gaugeVoterPlugin.ts
@@ -15,6 +15,7 @@ export const gaugeVoterPlugin: IPluginInfo = {
[Network.ARBITRUM_MAINNET]:
'0x0000000000000000000000000000000000000000',
[Network.BASE_MAINNET]: '0x0000000000000000000000000000000000000000',
+ [Network.CITREA_MAINNET]: '0x0000000000000000000000000000000000000000',
[Network.ETHEREUM_MAINNET]:
'0x0000000000000000000000000000000000000000',
[Network.ETHEREUM_SEPOLIA]:
diff --git a/src/plugins/lockToVotePlugin/constants/lockToVotePlugin.ts b/src/plugins/lockToVotePlugin/constants/lockToVotePlugin.ts
index 04fa0fec0f..32978cf69a 100644
--- a/src/plugins/lockToVotePlugin/constants/lockToVotePlugin.ts
+++ b/src/plugins/lockToVotePlugin/constants/lockToVotePlugin.ts
@@ -13,6 +13,7 @@ export const lockToVotePlugin: IPluginInfo = {
description: 'This is the initial release of Lock To Vote.',
},
repositoryAddresses: {
+ [Network.CITREA_MAINNET]: '0x0000000000000000000000000000000000000000',
[Network.ETHEREUM_MAINNET]:
'0x0f4FBD2951Db08B45dE16e7519699159aE1b4bb7',
[Network.ETHEREUM_SEPOLIA]:
diff --git a/src/plugins/multisigPlugin/constants/multisigPlugin.ts b/src/plugins/multisigPlugin/constants/multisigPlugin.ts
index f0bfc261e8..efdc09cf0a 100644
--- a/src/plugins/multisigPlugin/constants/multisigPlugin.ts
+++ b/src/plugins/multisigPlugin/constants/multisigPlugin.ts
@@ -17,6 +17,7 @@ export const multisigPlugin: IPluginInfo = {
[Network.ARBITRUM_MAINNET]:
'0x7553E6Fb020c5740768cF289e603770AA09b7aE2',
[Network.BASE_MAINNET]: '0xcDC4b0BC63AEfFf3a7826A19D101406C6322A585',
+ [Network.CITREA_MAINNET]: '0x7db8D2c9d0caf55DD6E6b94d0B9BA3Ef1D40b9Fa',
[Network.ETHEREUM_MAINNET]:
'0x8c278e37D0817210E18A7958524b7D0a1fAA6F7b',
[Network.ETHEREUM_SEPOLIA]:
diff --git a/src/plugins/sppPlugin/constants/sppPlugin.ts b/src/plugins/sppPlugin/constants/sppPlugin.ts
index 14db141349..13d3535beb 100644
--- a/src/plugins/sppPlugin/constants/sppPlugin.ts
+++ b/src/plugins/sppPlugin/constants/sppPlugin.ts
@@ -16,6 +16,7 @@ export const sppPlugin: IPluginInfo = {
[Network.ARBITRUM_MAINNET]:
'0xe3B00403Cd8cBee7af01961c25220289a4Cc5753',
[Network.BASE_MAINNET]: '0x3C13098D4e2FE9aCb2fCEb3EE4fBBe33405eD39D',
+ [Network.CITREA_MAINNET]: '0xc016d12087BAda6438a45246Ad758d58d0a2F844',
[Network.ETHEREUM_MAINNET]:
'0x421FF506E4DC17356965565688D62b55Bf2bf0a5',
[Network.ETHEREUM_SEPOLIA]:
diff --git a/src/plugins/tokenPlugin/constants/tokenPlugin.ts b/src/plugins/tokenPlugin/constants/tokenPlugin.ts
index 4ec7e4d21f..d1faf8932b 100644
--- a/src/plugins/tokenPlugin/constants/tokenPlugin.ts
+++ b/src/plugins/tokenPlugin/constants/tokenPlugin.ts
@@ -17,6 +17,7 @@ export const tokenPlugin: IPluginInfo = {
[Network.ARBITRUM_MAINNET]:
'0x1AeD2BEb470aeFD65B43f905Bd5371b1E4749d18',
[Network.BASE_MAINNET]: '0x2532570DcFb749A7F976136CC05648ef2a0f60b0',
+ [Network.CITREA_MAINNET]: '0x9a28F7690A2b02829721171364F5bBF0590cAAB6',
[Network.ETHEREUM_MAINNET]:
'0xb7401cD221ceAFC54093168B814Cc3d42579287f',
[Network.ETHEREUM_SEPOLIA]:
diff --git a/src/shared/api/daoService/domain/enum/network.ts b/src/shared/api/daoService/domain/enum/network.ts
index 3724cbb87b..628a41aedd 100644
--- a/src/shared/api/daoService/domain/enum/network.ts
+++ b/src/shared/api/daoService/domain/enum/network.ts
@@ -4,6 +4,7 @@ export enum Network {
POLYGON_MAINNET = 'polygon-mainnet',
BASE_MAINNET = 'base-mainnet',
ARBITRUM_MAINNET = 'arbitrum-mainnet',
+ CITREA_MAINNET = 'citrea-mainnet',
ZKSYNC_MAINNET = 'zksync-mainnet',
ZKSYNC_SEPOLIA = 'zksync-sepolia',
PEAQ_MAINNET = 'peaq-mainnet',
diff --git a/src/shared/constants/networkDefinitions.ts b/src/shared/constants/networkDefinitions.ts
index 13e47ce2b1..22ca12372a 100644
--- a/src/shared/constants/networkDefinitions.ts
+++ b/src/shared/constants/networkDefinitions.ts
@@ -4,6 +4,7 @@ import {
avalanche,
base,
chiliz,
+ citrea,
katana,
mainnet,
optimism,
@@ -239,6 +240,22 @@ export const networkDefinitions: Record = {
conditionFactory: '0xE22884A20f9aCECB5174Cb55F6AA36600C13E87a',
},
},
+ [Network.CITREA_MAINNET]: {
+ ...citrea,
+ name: 'Citrea',
+ logo: '/networks/citrea.svg',
+ order: 8,
+ protocolVersion: latestProtocolVersion,
+ beta: true,
+ tenderlySupport: false,
+ addresses: {
+ dao: '0x0e30F6A8119E2528511C7B2d034d89dAb1cEC6b8',
+ daoFactory: '0x4ca8230AbD9427618f3A6bca7c814C0E59821235',
+ pluginSetupProcessor: '0xc3a857B614D5B79B936Ce6640E5351dF8fA262eD',
+ globalExecutor: '0xC8837F6B124D8dF780f5CF9aF343b25643040110',
+ conditionFactory: '0x0000000000000000000000000000000000000000',
+ },
+ },
[Network.ZKSYNC_MAINNET]: {
...zksync,
name: 'zkSync',
@@ -247,7 +264,7 @@ export const networkDefinitions: Record = {
rpcProvider: RpcProvider.ALCHEMY,
rpcUrl: 'https://zksync-mainnet.g.alchemy.com/v2/',
},
- order: 8,
+ order: 9,
protocolVersion: latestProtocolVersion,
tenderlySupport: true,
addresses: {
@@ -266,7 +283,7 @@ export const networkDefinitions: Record = {
rpcProvider: RpcProvider.ANKR,
rpcUrl: 'https://rpc.ankr.com/chiliz/',
},
- order: 9,
+ order: 10,
protocolVersion: latestProtocolVersion,
beta: true,
tenderlySupport: false,
@@ -286,7 +303,7 @@ export const networkDefinitions: Record = {
rpcProvider: RpcProvider.PEAQ,
rpcUrl: 'https://wiser-dimensional-knowledge.peaq-mainnet.quiknode.pro/',
},
- order: 10,
+ order: 11,
protocolVersion: latestProtocolVersion,
beta: true,
tenderlySupport: true,
diff --git a/src/shared/utils/networkUtils/networkUtils.test.ts b/src/shared/utils/networkUtils/networkUtils.test.ts
index 1d7c0ff8c1..b354cd35b0 100644
--- a/src/shared/utils/networkUtils/networkUtils.test.ts
+++ b/src/shared/utils/networkUtils/networkUtils.test.ts
@@ -22,6 +22,7 @@ describe('network utils', () => {
expect(result).toContain(Network.POLYGON_MAINNET);
expect(result).toContain(Network.BASE_MAINNET);
expect(result).toContain(Network.ARBITRUM_MAINNET);
+ expect(result).toContain(Network.CITREA_MAINNET);
expect(result).toContain(Network.OPTIMISM_MAINNET);
expect(result).toContain(Network.ZKSYNC_MAINNET);
expect(result).toContain(Network.PEAQ_MAINNET);