From e1145dd8ce2474d60273f6c76db656e61b8bb54d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Migone?= Date: Wed, 17 Sep 2025 14:49:24 -0300 Subject: [PATCH] feat: ensure migration scripts produce complete address book MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Tomás Migone --- .../ignition/configs/migrate.default.json5 | 3 ++ .../ignition/configs/migrate.fork1.json5 | 45 ------------------- .../configs/migrate.integration.json5 | 3 ++ .../configs/migrate.localNetwork.json5 | 3 ++ .../ignition/modules/migrate/migrate-3.ts | 6 +++ .../modules/periphery/EpochManager.ts | 8 +++- .../ignition/modules/periphery/GraphToken.ts | 8 +++- .../modules/periphery/GraphTokenGateway.ts | 8 +++- .../ignition/modules/periphery/periphery.ts | 9 ++-- .../ignition/configs/migrate.default.json5 | 2 + .../ignition/configs/migrate.fork1.json5 | 36 --------------- .../configs/migrate.integration.json5 | 3 +- .../configs/migrate.localNetwork.json5 | 2 + .../ignition/modules/DisputeManager.ts | 9 ++++ .../ignition/modules/ServiceRegistry.ts | 16 +++++++ .../ignition/modules/migrate/migrate-2.ts | 6 ++- 16 files changed, 78 insertions(+), 89 deletions(-) delete mode 100644 packages/horizon/ignition/configs/migrate.fork1.json5 delete mode 100644 packages/subgraph-service/ignition/configs/migrate.fork1.json5 create mode 100644 packages/subgraph-service/ignition/modules/ServiceRegistry.ts diff --git a/packages/horizon/ignition/configs/migrate.default.json5 b/packages/horizon/ignition/configs/migrate.default.json5 index 546b4287f..02e7a4840 100644 --- a/packages/horizon/ignition/configs/migrate.default.json5 +++ b/packages/horizon/ignition/configs/migrate.default.json5 @@ -8,8 +8,11 @@ "controllerAddress": "0x9DB3ee191681f092607035d9BDA6e59FbEaCa695", "horizonStakingAddress": "0x865365C425f3A593Ffe698D9c4E6707D14d51e08", "epochManagerAddress": "0x88b3C7f37253bAA1A9b95feAd69bD5320585826D", + "epochManagerImplementationAddress": "0x646627fa39ec6f6E757Cb4189bC54c92FFBb71da", "graphTokenAddress": "0xf8c05dCF59E8B28BFD5eed176C562bEbcfc7Ac04", + "graphTokenImplementationAddress": "0x4cf968bA38b43dd10be114daa7959C1b369479e5", "graphTokenGatewayAddress": "0xB24Ce0f8c18c4DdDa584A7EeC132F49C966813bb", + "graphTokenGatewayImplementationAddress": "0x3C2eB5E561f70c0573E5f6c92358e988E32cb5eC", "rewardsManagerAddress": "0x1F49caE7669086c8ba53CC35d1E9f80176d67E79", "curationAddress": "0xDe761f075200E75485F4358978FB4d1dC8644FD5", "gnsAddress": "0x3133948342F35b8699d8F94aeE064AbB76eDe965", diff --git a/packages/horizon/ignition/configs/migrate.fork1.json5 b/packages/horizon/ignition/configs/migrate.fork1.json5 deleted file mode 100644 index 543cc3443..000000000 --- a/packages/horizon/ignition/configs/migrate.fork1.json5 +++ /dev/null @@ -1,45 +0,0 @@ -{ - "$global": { - // Accounts already configured in the original Graph Protocol - Arbitrum Sepolia values - "governor": "0x72ee30d43Fb5A90B3FE983156C5d2fBE6F6d07B3", - - // Addresses for contracts deployed in the original Graph Protocol - Arbitrum Sepolia values - "graphProxyAdminAddress": "0x7474a6cc5fAeDEc620Db0fa8E4da6eD58477042C", - "controllerAddress": "0x9DB3ee191681f092607035d9BDA6e59FbEaCa695", - "horizonStakingAddress": "0x865365C425f3A593Ffe698D9c4E6707D14d51e08", - "epochManagerAddress": "0x88b3C7f37253bAA1A9b95feAd69bD5320585826D", - "graphTokenAddress": "0xf8c05dCF59E8B28BFD5eed176C562bEbcfc7Ac04", - "graphTokenGatewayAddress": "0xB24Ce0f8c18c4DdDa584A7EeC132F49C966813bb", - "rewardsManagerAddress": "0x1F49caE7669086c8ba53CC35d1E9f80176d67E79", - "curationAddress": "0xDe761f075200E75485F4358978FB4d1dC8644FD5", - "gnsAddress": "0x3133948342F35b8699d8F94aeE064AbB76eDe965", - "gnsImplementationAddress": "0x00CBF5024d454255577Bf2b0fB6A43328a6828c9", - "subgraphNFTAddress": "0xF21Df5BbA7EB9b54D8F60C560aFb9bA63e6aED1A", - - // Must be set for step 2 of the migration - "graphPaymentsAddress": "0x1A7Fb71014d4395903eC56662f32dD02344D361C", - "paymentsEscrowAddress": "0x00fe8F95407AB61863d27c07F584A0930ee5F3b0", - - // Must be set for step 3 and 4 of the migration - "subgraphServiceAddress": "0x8A44C49eD477e7130249d4B8d5248d08B469Bf0d", - - // Must be set for step 4 of the migration - "horizonStakingImplementationAddress": "0xf1b9D089f5f6dEd46EC88830051db0e68c58e032", - "curationImplementationAddress": "0x9CCD9B656f8A558879974ef2505496eEd7Ef7210", - "rewardsManagerImplementationAddress": "0x4dEA2d1Be05909B71F539FD32601F7bd736c28D4", - - // Global parameters - "maxThawingPeriod": 2419200 - }, - "GraphPayments": { - "protocolPaymentCut": 10000 - }, - "PaymentsEscrow": { - "withdrawEscrowThawingPeriod": 10000 - }, - "GraphTallyCollector": { - "eip712Name": "GraphTallyCollector", - "eip712Version": "1", - "revokeSignerThawingPeriod": 10000 - } -} diff --git a/packages/horizon/ignition/configs/migrate.integration.json5 b/packages/horizon/ignition/configs/migrate.integration.json5 index 35b3e4547..e889f39c3 100644 --- a/packages/horizon/ignition/configs/migrate.integration.json5 +++ b/packages/horizon/ignition/configs/migrate.integration.json5 @@ -8,8 +8,11 @@ "controllerAddress": "0x9DB3ee191681f092607035d9BDA6e59FbEaCa695", "horizonStakingAddress": "0x865365C425f3A593Ffe698D9c4E6707D14d51e08", "epochManagerAddress": "0x88b3C7f37253bAA1A9b95feAd69bD5320585826D", + "epochManagerImplementationAddress": "0x646627fa39ec6f6E757Cb4189bC54c92FFBb71da", "graphTokenAddress": "0xf8c05dCF59E8B28BFD5eed176C562bEbcfc7Ac04", + "graphTokenImplementationAddress": "0x4cf968bA38b43dd10be114daa7959C1b369479e5", "graphTokenGatewayAddress": "0xB24Ce0f8c18c4DdDa584A7EeC132F49C966813bb", + "graphTokenGatewayImplementationAddress": "0x3C2eB5E561f70c0573E5f6c92358e988E32cb5eC", "rewardsManagerAddress": "0x1F49caE7669086c8ba53CC35d1E9f80176d67E79", "curationAddress": "0xDe761f075200E75485F4358978FB4d1dC8644FD5", "gnsAddress": "0x3133948342F35b8699d8F94aeE064AbB76eDe965", diff --git a/packages/horizon/ignition/configs/migrate.localNetwork.json5 b/packages/horizon/ignition/configs/migrate.localNetwork.json5 index 98e4a62a6..bfd787472 100644 --- a/packages/horizon/ignition/configs/migrate.localNetwork.json5 +++ b/packages/horizon/ignition/configs/migrate.localNetwork.json5 @@ -8,8 +8,11 @@ "controllerAddress": "0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0", "horizonStakingAddress": "0xc5a5C42992dECbae36851359345FE25997F5C42d", "epochManagerAddress": "0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9", + "epochManagerImplementationAddress": "0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9", "graphTokenAddress": "0x3Aa5ebB10DC797CAC828524e59A333d0A371443c", + "graphTokenImplementationAddress": "0x3Aa5ebB10DC797CAC828524e59A333d0A371443c", "graphTokenGatewayAddress": "0xc3e53F4d16Ae77Db1c982e75a937B9f60FE63690", + "graphTokenGatewayImplementationAddress": "0xE6E340D132b5f46d1e472DebcD681B2aBc16e57E", "rewardsManagerAddress": "0x9A676e781A523b5d0C0e43731313A708CB607508", "curationAddress": "0x59b670e9fA9D0A427751Af201D676719a970857b", "gnsAddress": "0xa85233C63b9Ee964Add6F2cffe00Fd84eb32338f", diff --git a/packages/horizon/ignition/modules/migrate/migrate-3.ts b/packages/horizon/ignition/modules/migrate/migrate-3.ts index 94e1ac5b0..3af33ee57 100644 --- a/packages/horizon/ignition/modules/migrate/migrate-3.ts +++ b/packages/horizon/ignition/modules/migrate/migrate-3.ts @@ -12,8 +12,11 @@ export default buildModule('GraphHorizon_Migrate_3', (m) => { Controller, GraphProxyAdmin, EpochManager, + EpochManagerImplementation, L2GraphToken, + L2GraphTokenImplementation, L2GraphTokenGateway, + L2GraphTokenGatewayImplementation, L2GNS, L2GNSImplementation, SubgraphNFT, @@ -47,7 +50,10 @@ export default buildModule('GraphHorizon_Migrate_3', (m) => { Controller: Controller, GraphProxyAdmin, Graph_Proxy_EpochManager: EpochManager, + Implementation_EpochManager: EpochManagerImplementation, Graph_Proxy_L2GraphToken: L2GraphToken, + Implementation_L2GraphToken: L2GraphTokenImplementation, Graph_Proxy_L2GraphTokenGateway: L2GraphTokenGateway, + Implementation_L2GraphTokenGateway: L2GraphTokenGatewayImplementation, } }) diff --git a/packages/horizon/ignition/modules/periphery/EpochManager.ts b/packages/horizon/ignition/modules/periphery/EpochManager.ts index 890b7064c..2fa4c974f 100644 --- a/packages/horizon/ignition/modules/periphery/EpochManager.ts +++ b/packages/horizon/ignition/modules/periphery/EpochManager.ts @@ -22,8 +22,14 @@ export default buildModule('EpochManager', (m) => { export const MigrateEpochManagerModule = buildModule('EpochManager', (m) => { const epochManagerAddress = m.getParameter('epochManagerAddress') + const epochManagerImplementationAddress = m.getParameter('epochManagerImplementationAddress') const EpochManager = m.contractAt('EpochManager', EpochManagerArtifact, epochManagerAddress) + const EpochManagerImplementation = m.contractAt( + 'EpochManagerAddressBook', + EpochManagerArtifact, + epochManagerImplementationAddress, + ) - return { EpochManager } + return { EpochManager, EpochManagerImplementation } }) diff --git a/packages/horizon/ignition/modules/periphery/GraphToken.ts b/packages/horizon/ignition/modules/periphery/GraphToken.ts index b962a5ed7..73f2f29ad 100644 --- a/packages/horizon/ignition/modules/periphery/GraphToken.ts +++ b/packages/horizon/ignition/modules/periphery/GraphToken.ts @@ -39,8 +39,14 @@ export default buildModule('L2GraphToken', (m) => { export const MigrateGraphTokenModule = buildModule('L2GraphToken', (m) => { const graphTokenAddress = m.getParameter('graphTokenAddress') + const graphTokenImplementationAddress = m.getParameter('graphTokenImplementationAddress') const L2GraphToken = m.contractAt('L2GraphToken', GraphTokenArtifact, graphTokenAddress) + const L2GraphTokenImplementation = m.contractAt( + 'L2GraphTokenAddressBook', + GraphTokenArtifact, + graphTokenImplementationAddress, + ) - return { L2GraphToken } + return { L2GraphToken, L2GraphTokenImplementation } }) diff --git a/packages/horizon/ignition/modules/periphery/GraphTokenGateway.ts b/packages/horizon/ignition/modules/periphery/GraphTokenGateway.ts index 1ea115e73..9caea9f16 100644 --- a/packages/horizon/ignition/modules/periphery/GraphTokenGateway.ts +++ b/packages/horizon/ignition/modules/periphery/GraphTokenGateway.ts @@ -27,8 +27,14 @@ export default buildModule('L2GraphTokenGateway', (m) => { export const MigrateGraphTokenGatewayModule = buildModule('L2GraphTokenGateway', (m) => { const graphTokenGatewayAddress = m.getParameter('graphTokenGatewayAddress') + const graphTokenGatewayImplementationAddress = m.getParameter('graphTokenGatewayImplementationAddress') const L2GraphTokenGateway = m.contractAt('L2GraphTokenGateway', GraphTokenGatewayArtifact, graphTokenGatewayAddress) + const L2GraphTokenGatewayImplementation = m.contractAt( + 'L2GraphTokenGatewayAddressBook', + GraphTokenGatewayArtifact, + graphTokenGatewayImplementationAddress, + ) - return { L2GraphTokenGateway } + return { L2GraphTokenGateway, L2GraphTokenGatewayImplementation } }) diff --git a/packages/horizon/ignition/modules/periphery/periphery.ts b/packages/horizon/ignition/modules/periphery/periphery.ts index 589104cc5..858e1dafa 100644 --- a/packages/horizon/ignition/modules/periphery/periphery.ts +++ b/packages/horizon/ignition/modules/periphery/periphery.ts @@ -73,14 +73,15 @@ export const MigratePeripheryModule = buildModule('GraphHorizon_Periphery', (m) ) const { Controller } = m.useModule(MigrateControllerDeployerModule) const { GraphProxyAdmin } = m.useModule(MigrateGraphProxyAdminModule) - const { EpochManager } = m.useModule(MigrateEpochManagerModule) - const { L2GraphToken } = m.useModule(MigrateGraphTokenModule) - const { L2GraphTokenGateway } = m.useModule(MigrateGraphTokenGatewayModule) + const { EpochManager, EpochManagerImplementation } = m.useModule(MigrateEpochManagerModule) + const { L2GraphToken, L2GraphTokenImplementation } = m.useModule(MigrateGraphTokenModule) + const { L2GraphTokenGateway, L2GraphTokenGatewayImplementation } = m.useModule(MigrateGraphTokenGatewayModule) // Load these contracts so they are available in the address book return { Controller, EpochManager, + EpochManagerImplementation, L2Curation, L2CurationImplementation, L2GNS, @@ -88,7 +89,9 @@ export const MigratePeripheryModule = buildModule('GraphHorizon_Periphery', (m) SubgraphNFT, GraphProxyAdmin, L2GraphToken, + L2GraphTokenImplementation, L2GraphTokenGateway, + L2GraphTokenGatewayImplementation, RewardsManager, RewardsManagerImplementation, } diff --git a/packages/subgraph-service/ignition/configs/migrate.default.json5 b/packages/subgraph-service/ignition/configs/migrate.default.json5 index c81352a2d..737099f31 100644 --- a/packages/subgraph-service/ignition/configs/migrate.default.json5 +++ b/packages/subgraph-service/ignition/configs/migrate.default.json5 @@ -12,6 +12,8 @@ "gnsProxyAddress": "0x3133948342F35b8699d8F94aeE064AbB76eDe965", "gnsImplementationAddress": "0x00CBF5024d454255577Bf2b0fB6A43328a6828c9", "subgraphNFTAddress": "0xF21Df5BbA7EB9b54D8F60C560aFb9bA63e6aED1A", + "legacyDisputeManagerAddress": "0x7C9B82717f9433932507dF6EdA93A9678b258698", + "legacyServiceRegistryAddress": "0x888541878CbDDEd880Cd58c728f1Af5C47343F86", // Must be set for step 2 of the deployment "disputeManagerProxyAddress": "", diff --git a/packages/subgraph-service/ignition/configs/migrate.fork1.json5 b/packages/subgraph-service/ignition/configs/migrate.fork1.json5 deleted file mode 100644 index 2fef9940a..000000000 --- a/packages/subgraph-service/ignition/configs/migrate.fork1.json5 +++ /dev/null @@ -1,36 +0,0 @@ -{ - "$global": { - // Accounts already configured in the original Graph Protocol - Arbitrum Sepolia values - "governor": "0x72ee30d43Fb5A90B3FE983156C5d2fBE6F6d07B3", - "arbitrator": "0x1726A5d52e279d02ff4732eCeB2D67BFE5Add328", - "pauseGuardian": "0xa0444508232dA3FA6C2f96a5f105f3f0cc0d20D7", - - // Addresses for contracts deployed in the original Graph Protocol - Arbitrum Sepolia values - "controllerAddress": "0x9DB3ee191681f092607035d9BDA6e59FbEaCa695", - "curationProxyAddress": "0xDe761f075200E75485F4358978FB4d1dC8644FD5", - "curationImplementationAddress": "0xd90022aB67920212D0F902F5c427DE82732DE136", - "gnsProxyAddress": "0x3133948342F35b8699d8F94aeE064AbB76eDe965", - "gnsImplementationAddress": "0x00CBF5024d454255577Bf2b0fB6A43328a6828c9", - "subgraphNFTAddress": "0xF21Df5BbA7EB9b54D8F60C560aFb9bA63e6aED1A", - - // Must be set for step 2 of the deployment - "disputeManagerProxyAddress": "0x1CEBe1C314Cc454baf4bd553409d957C833623c0", - "disputeManagerProxyAdminAddress": "0x1a14fF838e7e06FdabFb20c2553b4ad613aD832b", - "subgraphServiceProxyAddress": "0x8A44C49eD477e7130249d4B8d5248d08B469Bf0d", - "subgraphServiceProxyAdminAddress": "0x7CB6291437029a4cFd28b3455c9e2242767010F3", - "graphTallyCollectorAddress": "0xF2DB533658a1728f3ce04A49Df4b545f4A53b620" - }, - "DisputeManager": { - "disputePeriod": 2419200, - "disputeDeposit": "10000000000000000000000n", - "fishermanRewardCut": 500000, - "maxSlashingCut": 1000000, - }, - "SubgraphService": { - "minimumProvisionTokens": "100000000000000000000000n", - "maximumDelegationRatio": 16, - "stakeToFeesRatio": 2, - "maxPOIStaleness": 2419200, // 28 days = 2419200 seconds - "curationCut": 100000, - } -} diff --git a/packages/subgraph-service/ignition/configs/migrate.integration.json5 b/packages/subgraph-service/ignition/configs/migrate.integration.json5 index 7af88d6eb..4d6048d55 100644 --- a/packages/subgraph-service/ignition/configs/migrate.integration.json5 +++ b/packages/subgraph-service/ignition/configs/migrate.integration.json5 @@ -12,7 +12,8 @@ "gnsProxyAddress": "0x3133948342F35b8699d8F94aeE064AbB76eDe965", "gnsImplementationAddress": "0x00CBF5024d454255577Bf2b0fB6A43328a6828c9", "subgraphNFTAddress": "0xF21Df5BbA7EB9b54D8F60C560aFb9bA63e6aED1A", - + "legacyDisputeManagerAddress": "0x7C9B82717f9433932507dF6EdA93A9678b258698", + "legacyServiceRegistryAddress": "0x888541878CbDDEd880Cd58c728f1Af5C47343F86", // Must be set for step 2 of the deployment "disputeManagerProxyAddress": "", diff --git a/packages/subgraph-service/ignition/configs/migrate.localNetwork.json5 b/packages/subgraph-service/ignition/configs/migrate.localNetwork.json5 index f957cd6f9..c71d70a8f 100644 --- a/packages/subgraph-service/ignition/configs/migrate.localNetwork.json5 +++ b/packages/subgraph-service/ignition/configs/migrate.localNetwork.json5 @@ -12,6 +12,8 @@ "gnsProxyAddress": "0xa85233C63b9Ee964Add6F2cffe00Fd84eb32338f", "gnsImplementationAddress": "0x322813Fd9A801c5507c9de605d63CEA4f2CE6c44", "subgraphNFTAddress": "0xB7f8BC63BbcaD18155201308C8f3540b07f84F5e", + "legacyDisputeManagerAddress": "0x9A9f2CCfdE556A7E9Ff0848998Aa4a0CFD8863AE", + "legacyServiceRegistryAddress": "0x2279B7A0a67DB372996a5FaB50D91eAA73d2eBe6", // Must be set for step 2 of the deployment "disputeManagerProxyAddress": "", diff --git a/packages/subgraph-service/ignition/modules/DisputeManager.ts b/packages/subgraph-service/ignition/modules/DisputeManager.ts index 4ea298d90..515d2949f 100644 --- a/packages/subgraph-service/ignition/modules/DisputeManager.ts +++ b/packages/subgraph-service/ignition/modules/DisputeManager.ts @@ -1,3 +1,4 @@ +import LegacyDisputeManagerArtifact from '@graphprotocol/contracts/artifacts/contracts/disputes/DisputeManager.sol/DisputeManager.json' import { deployImplementation, upgradeTransparentUpgradeableProxy } from '@graphprotocol/horizon/ignition' import { buildModule } from '@nomicfoundation/hardhat-ignition/modules' import ProxyAdminArtifact from '@openzeppelin/contracts/build/contracts/ProxyAdmin.json' @@ -12,6 +13,7 @@ export default buildModule('DisputeManager', (m) => { const subgraphServiceProxyAddress = m.getParameter('subgraphServiceProxyAddress') const disputeManagerProxyAddress = m.getParameter('disputeManagerProxyAddress') const disputeManagerProxyAdminAddress = m.getParameter('disputeManagerProxyAdminAddress') + const legacyDisputeManagerAddress = m.getParameter('legacyDisputeManagerAddress') const arbitrator = m.getParameter('arbitrator') const disputePeriod = m.getParameter('disputePeriod') const disputeDeposit = m.getParameter('disputeDeposit') @@ -50,8 +52,15 @@ export default buildModule('DisputeManager', (m) => { m.call(DisputeManager, 'transferOwnership', [governor], { after: [callSetSubgraphService] }) m.call(DisputeManagerProxyAdmin, 'transferOwnership', [governor], { after: [callSetSubgraphService] }) + const LegacyDisputeManager = m.contractAt( + 'LegacyDisputeManager', + LegacyDisputeManagerArtifact, + legacyDisputeManagerAddress, + ) + return { DisputeManager, DisputeManagerImplementation, + LegacyDisputeManager, } }) diff --git a/packages/subgraph-service/ignition/modules/ServiceRegistry.ts b/packages/subgraph-service/ignition/modules/ServiceRegistry.ts new file mode 100644 index 000000000..2c4a4cd8d --- /dev/null +++ b/packages/subgraph-service/ignition/modules/ServiceRegistry.ts @@ -0,0 +1,16 @@ +import ServiceRegistryArtifact from '@graphprotocol/contracts/artifacts/contracts/discovery/ServiceRegistry.sol/ServiceRegistry.json' +import { buildModule } from '@nomicfoundation/hardhat-ignition/modules' + +export default buildModule('ServiceRegistry', (m) => { + const legacyServiceRegistryAddress = m.getParameter('legacyServiceRegistryAddress') + + const LegacyServiceRegistry = m.contractAt( + 'LegacyServiceRegistry', + ServiceRegistryArtifact, + legacyServiceRegistryAddress, + ) + + return { + LegacyServiceRegistry, + } +}) diff --git a/packages/subgraph-service/ignition/modules/migrate/migrate-2.ts b/packages/subgraph-service/ignition/modules/migrate/migrate-2.ts index df005ad64..1cdd9135e 100644 --- a/packages/subgraph-service/ignition/modules/migrate/migrate-2.ts +++ b/packages/subgraph-service/ignition/modules/migrate/migrate-2.ts @@ -3,13 +3,15 @@ import { buildModule } from '@nomicfoundation/hardhat-ignition/modules' import CurationModule from '../Curation' import DisputeManagerModule from '../DisputeManager' import GNSModule from '../GNS' +import ServiceRegistryModule from '../ServiceRegistry' import SubgraphServiceModule from '../SubgraphService' export default buildModule('SubgraphService_Migrate_2', (m) => { - const { DisputeManager, DisputeManagerImplementation } = m.useModule(DisputeManagerModule) + const { DisputeManager, DisputeManagerImplementation, LegacyDisputeManager } = m.useModule(DisputeManagerModule) const { SubgraphService, SubgraphServiceImplementation } = m.useModule(SubgraphServiceModule) const { L2Curation, L2CurationImplementation } = m.useModule(CurationModule) const { L2GNS, L2GNSImplementation, SubgraphNFT } = m.useModule(GNSModule) + const { LegacyServiceRegistry } = m.useModule(ServiceRegistryModule) return { Transparent_Proxy_DisputeManager: DisputeManager, @@ -21,5 +23,7 @@ export default buildModule('SubgraphService_Migrate_2', (m) => { Graph_Proxy_L2GNS: L2GNS, Implementation_L2GNS: L2GNSImplementation, SubgraphNFT, + LegacyDisputeManager, + LegacyServiceRegistry, } })