# ZEIP-95 | Migrating 0x Protocol to On-chain Governance Process

**URL:** <https://forum.0xprotocol.org/t/zeip-95-migrating-0x-protocol-to-on-chain-governance-process/3513>\
**Category:** Core Protocol\
**Created:** [February 27, 2023, 6:40pm UTC](https://forum.0xprotocol.org/t/zeip-95-migrating-0x-protocol-to-on-chain-governance-process/3513 "2023-02-27T18:40:14Z")\
**Posts on this page:** 1\
**Showing post:** 20

<div class="post-metadata">

**Author:** ![elenag](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.0xprotocol.org/elenag/32/1128_2.png) [@elenag](https://forum.0xprotocol.org/u/elenag)\
**Post date:** [March 15, 2023, 1:03pm UTC](https://forum.0xprotocol.org/t/zeip-95-migrating-0x-protocol-to-on-chain-governance-process/3513/20 "2023-03-15T13:03:14Z")

</div>

> [@gabririgo](#):
>
> token address in ZeroExVotes is immutable

The `ZeroExVotes` implementation is working via a vanilla openzeppelin `ERC1967Proxy` implementation and is upgradable that way while its proxy address remains immutable. The wrapped token itself on another hand is non-upgradable by design.  
Note that although in openzeppelin’s `ERC20Votes` implementation for example the token and the voting logic are part of the same contract, we decided on a different design that abstracts the voting logic away from the token. This approach was discussed with openzeppelin here [Quadratic voting - Contracts - OpenZeppelin Forum](https://forum.openzeppelin.com/t/quadratic-voting/34580)  
The above discussion also holds the explanation as to why a reference to the voting contract - `ZeroExVotes` is named `_token` which is to emphasize compatibility with [`GovernorVotes` implementation of openzeppelin](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/governance/extensions/GovernorVotes.sol#L15) but I do accept it’s confusing and have just pushed a rename of that.

On code coverage we do not use typescript for testing but do use coveralls and foundry and coverage is currently at \>95% for contracts see latest report at [0xProject/protocol | Build #4425512986 | Coveralls - Test Coverage History & Statistics](https://coveralls.io/builds/57878343)

---

_[View the full topic](https://forum.0xprotocol.org/t/zeip-95-migrating-0x-protocol-to-on-chain-governance-process/3513)._
