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);