diff --git a/packages/horizon/ignition/configs/migrate.arbitrumSepolia.json5 b/packages/horizon/ignition/configs/migrate.arbitrumSepolia.json5 index 2e332504f..5da0c6265 100644 --- a/packages/horizon/ignition/configs/migrate.arbitrumSepolia.json5 +++ b/packages/horizon/ignition/configs/migrate.arbitrumSepolia.json5 @@ -30,7 +30,9 @@ "horizonStakingImplementationAddress": "0x2AF6F51e119A79497C3A3FFf012B5889da489764", "curationImplementationAddress": "0xbC8F4355f346e47eef8A0DBFF4a58616ACf7DaCA", "rewardsManagerImplementationAddress": "0x856843F6409a8b3A0d4aaE67313037FED02bBBFf", - + "disputeManagerAddress": "0x96e1b86b2739e8A3d59F40F2532caDF9cE8Da088", + + // Must be set for step 5 of the migration // Global parameters "maxThawingPeriod": 2419200 }, diff --git a/packages/horizon/ignition/configs/migrate.default.json5 b/packages/horizon/ignition/configs/migrate.default.json5 index 02e7a4840..e662822fe 100644 --- a/packages/horizon/ignition/configs/migrate.default.json5 +++ b/packages/horizon/ignition/configs/migrate.default.json5 @@ -30,6 +30,7 @@ "horizonStakingImplementationAddress": "", "curationImplementationAddress": "", "rewardsManagerImplementationAddress": "", + "disputeManagerAddress": "", // Global parameters "maxThawingPeriod": 2419200 diff --git a/packages/horizon/ignition/configs/migrate.integration.json5 b/packages/horizon/ignition/configs/migrate.integration.json5 index e889f39c3..7cdc530b9 100644 --- a/packages/horizon/ignition/configs/migrate.integration.json5 +++ b/packages/horizon/ignition/configs/migrate.integration.json5 @@ -30,6 +30,7 @@ "horizonStakingImplementationAddress": "", "curationImplementationAddress": "", "rewardsManagerImplementationAddress": "", + "disputeManagerAddress": "", // Global parameters "maxThawingPeriod": 2419200 diff --git a/packages/horizon/ignition/configs/migrate.localNetwork.json5 b/packages/horizon/ignition/configs/migrate.localNetwork.json5 index bfd787472..357cffb49 100644 --- a/packages/horizon/ignition/configs/migrate.localNetwork.json5 +++ b/packages/horizon/ignition/configs/migrate.localNetwork.json5 @@ -30,6 +30,7 @@ "horizonStakingImplementationAddress": "", "curationImplementationAddress": "", "rewardsManagerImplementationAddress": "", + "disputeManagerAddress": "", // Global parameters "maxThawingPeriod": 2419200 diff --git a/packages/horizon/ignition/configs/protocol.default.json5 b/packages/horizon/ignition/configs/protocol.default.json5 index 538561aa1..f86ba80de 100644 --- a/packages/horizon/ignition/configs/protocol.default.json5 +++ b/packages/horizon/ignition/configs/protocol.default.json5 @@ -6,6 +6,7 @@ // Placeholder address for a standalone Horizon deployment, see README.md for more details "subgraphServiceAddress": "0x0000000000000000000000000000000000000000", + "disputeManagerAddress": "0x0000000000000000000000000000000000000001", // Global parameters "maxThawingPeriod": 2419200 diff --git a/packages/horizon/ignition/configs/protocol.localNetwork.json5 b/packages/horizon/ignition/configs/protocol.localNetwork.json5 index cea86ca46..078286aa6 100644 --- a/packages/horizon/ignition/configs/protocol.localNetwork.json5 +++ b/packages/horizon/ignition/configs/protocol.localNetwork.json5 @@ -6,6 +6,7 @@ // Placeholder address for a standalone Horizon deployment, see README.md for more details "subgraphServiceAddress": "0x0000000000000000000000000000000000000000", + "disputeManagerAddress": "0x0000000000000000000000000000000000000001", // Global parameters "maxThawingPeriod": 2419200 diff --git a/packages/horizon/ignition/modules/migrate/migrate-4.ts b/packages/horizon/ignition/modules/migrate/migrate-4.ts index 4325fae85..a4f6898ec 100644 --- a/packages/horizon/ignition/modules/migrate/migrate-4.ts +++ b/packages/horizon/ignition/modules/migrate/migrate-4.ts @@ -1,4 +1,6 @@ +import ControllerArtifact from '@graphprotocol/contracts/artifacts/contracts/governance/Controller.sol/Controller.json' import { buildModule } from '@nomicfoundation/hardhat-ignition/modules' +import { ethers } from 'ethers' import { MigrateHorizonStakingGovernorModule } from '../core/HorizonStaking' import { MigrateCurationGovernorModule } from '../periphery/Curation' @@ -9,5 +11,13 @@ export default buildModule('GraphHorizon_Migrate_4', (m) => { m.useModule(MigrateRewardsManagerGovernorModule) m.useModule(MigrateHorizonStakingGovernorModule) + // Patch controller to override old dispute manager address + const disputeManagerAddress = m.getParameter('disputeManagerAddress') + const controllerAddress = m.getParameter('controllerAddress') + const Controller = m.contractAt('Controller', ControllerArtifact, controllerAddress) + m.call(Controller, 'setContractProxy', [ethers.keccak256(ethers.toUtf8Bytes('DisputeManager')), disputeManagerAddress], { + id: 'setContractProxy_DisputeManager', + }) + return {} }) diff --git a/packages/horizon/ignition/modules/periphery/periphery.ts b/packages/horizon/ignition/modules/periphery/periphery.ts index 858e1dafa..621ef5e4b 100644 --- a/packages/horizon/ignition/modules/periphery/periphery.ts +++ b/packages/horizon/ignition/modules/periphery/periphery.ts @@ -21,6 +21,8 @@ export default buildModule('GraphHorizon_Periphery', (m) => { const { L2GraphTokenGateway, L2GraphTokenGatewayImplementation } = m.useModule(GraphTokenGatewayModule) const { L2GraphToken, L2GraphTokenImplementation } = m.useModule(GraphTokenModule) + const disputeManagerAddress = m.getParameter('disputeManagerAddress') + m.call(Controller, 'setContractProxy', [ethers.keccak256(ethers.toUtf8Bytes('EpochManager')), EpochManager], { id: 'setContractProxy_EpochManager', }) @@ -45,6 +47,9 @@ export default buildModule('GraphHorizon_Periphery', (m) => { m.call(Controller, 'setContractProxy', [ethers.keccak256(ethers.toUtf8Bytes('GNS')), L2GNS], { id: 'setContractProxy_L2GNS', }) + m.call(Controller, 'setContractProxy', [ethers.keccak256(ethers.toUtf8Bytes('DisputeManager')), disputeManagerAddress], { + id: 'setContractProxy_DisputeManager', + }) return { Controller, diff --git a/packages/horizon/tasks/deploy.ts b/packages/horizon/tasks/deploy.ts index 234ffb255..5e747fe1d 100644 --- a/packages/horizon/tasks/deploy.ts +++ b/packages/horizon/tasks/deploy.ts @@ -163,6 +163,16 @@ function _patchStepConfig