We’re excited to see, and deeply value, the efforts of Tally, as well as other delegates and teams in their ongoing contributions to enhancing ArbitrumDAO’s onchain governance infrastructure. This specific proposal, if passed, aims to introduce the ability for an ArbitrumDAO AIP author to cancel an onchain proposal, as outlined in the original Forum Post to Expand Tally Support for the Arbitrum DAO. To enable onchain proposal cancellation, the current implementation plan proposes deploying new Arbitrum Core Governor and Arbitrum Treasury Governor contracts, which would both use OpenZeppelin Contracts 5.0.
After reviewing the current implementation plan, we at Offchain Labs, would like to propose an alternative approach for consideration. Instead of adopting OpenZeppelin Contracts 5.0, we recommend performing a proxy upgrade to the existing OpenZeppelin 4.x-based governor contracts to add the new proposal cancel function. This alternative approach avoids the need to deploy new contracts, cuts down the code diff, and provides a streamlined path to enable the proposal cancel function.
While we recognize the risks associated with complex proxy upgrades, we believe this specific case—making a minimal addition to the existing code to enable cancellation—entails low risk and complexity. In our view, this approach is less complex and easier to maintain, compared migrating to entirely new contracts. The complexity of execution, the externalities, and the long term engineering & codebase maintenance costs are important factors to consider when performing any sort of upgrade to production software.
Looking ahead, we acknowledge that some future proposals, such as those that entail widespread changes to storage layout, may indeed necessitate a migration to new governor contracts. However, we feel that this proposal isn’t one of those cases.
We would welcome the opportunity to collaborate with both delegates and the team to explore this alternative approach further.