# Arbitrum Governance Smart Contract Upgrade Technical Details

**URL:** <https://forum.arbitrum.foundation/t/arbitrum-governance-smart-contract-upgrade-technical-details/24642>\
**Category:** Voting Rationale & Governance Calls\
**Created:** [May 31, 2024, 5:57pm UTC](https://forum.arbitrum.foundation/t/arbitrum-governance-smart-contract-upgrade-technical-details/24642 "2024-05-31T17:57:37Z")\
**Posts on this page:** 1\
**Showing post:** 6

<div class="post-metadata">

**Author:** ![wildmolasses](https://avatars.discourse-cdn.com/v4/letter/w/54ee81/32.png) [@wildmolasses](https://forum.arbitrum.foundation/u/wildmolasses)\
**Post date:** [August 8, 2024, 9:51pm UTC](https://forum.arbitrum.foundation/t/arbitrum-governance-smart-contract-upgrade-technical-details/24642/6 "2024-08-08T21:51:28Z")

</div>

Hey all, wildmolasses from ScopeLift here. Now that the new contracts are developed ([repo](https://github.com/ScopeLift/arbitrum-governor-upgrade)) and audited (see post from openzeppelin above), here’s what the proposal rollout could like like:

ScopeLift todos:

- deploy the governor impl. ([script](https://github.com/ScopeLift/arbitrum-governor-upgrade/blob/main/script/DeployImplementation.s.sol))
- deploy the 2 proxies that act as the governors:
  - [core script](https://github.com/ScopeLift/arbitrum-governor-upgrade/blob/main/script/DeployCoreGovernor.s.sol)
  - [treasury script](https://github.com/ScopeLift/arbitrum-governor-upgrade/blob/main/script/DeployTreasuryGovernor.s.sol)

- deploy the [gov-action-contract](https://github.com/ScopeLift/arbitrum-governor-upgrade/blob/main/src/gov-action-contracts/TimelockRolesUpgrader.sol), passing some values to constructor including the new governor addresses. ([script](https://github.com/ScopeLift/arbitrum-governor-upgrade/blob/main/script/DeployTimelockRolesUpgrader.s.sol))

After the above is done, a delegate todo:

- create the proposal on chain. ([script](https://github.com/ScopeLift/arbitrum-governor-upgrade/blob/main/script/SubmitUpgradeProposalScript.s.sol))

A couple notes:

- We recommend that once this proposal is onchain, no new proposals are created until after it passes and executes (or fails, of course). If a proposal were to be created during this time, it would likely get stuck and have to be resubmitted to the corresponding new Governor.
- we can PR these contracts (and an updated L2AddressRegistry) into the main arbitrum governance repo if it’s useful.

Happy to answer any questions, just let us know!

---

_[View the full topic](https://forum.arbitrum.foundation/t/arbitrum-governance-smart-contract-upgrade-technical-details/24642)._
