The on-chain components upgrade will be **executed using a series of Hardhat Ignition scripts. Steps that need to be performed by governance will be converted by E&N Protocol team into transaction batches which can be reviewed and signed by the Council via OpenZeppelin Defender / Safe App.

Phase Description Executed by Execution strategy Hardhat Ignition scripts
1 New contract proxies are deployed. Deployer account
(E&N Protocol team) Hardhat Ignition script Horizon script #1
Subgraph Service script #1
2 The new proxies are registered in the Controller contract. Protocol governor
(Graph Council) Batched transaction via
OpenZeppelin Defender Horizon script #2 → batched transactions
3 New implementations are deployed. Deployer account
(E&N Protocol team) Hardhat Ignition script Horizon script #3
Subgraph Service script #2
4 Contracts are upgraded to their new implementations. Protocol governor
(Graph Council) Batched transaction via
OpenZeppelin Defender Horizon script #4 → batched transactions

Graph Horizon deployment plan

Commands to run scripts

Archived notes

2025.05.12 - Arbitrum sepolia fork 1