Use OpenZeppelin Defender to have a trustless upgradeable contract?

I want to have an upgradeable contract that requires on-chain vote to push through upgrades.

Some projects prefer to use snapshot for the vote and then have multi sig holders push through the vote. Since our project is on the BSC network (on-chain voting is cheap), we’d prefer to simply have the vote on-chain. In effect, the token holders are the multi sig holders when they vote.

1 Like

Hi, welcome! :wave:

Sorry, I am not familiar with the BSC-Chain, maybe you should ask for help in their forum: Home | Binance Chain Forum

I am not sure whether the Defender can work on the BSC-Chain.

1 Like

Hi @bash717,

Onchain governance is being looked at to potentially add to OpenZeppelin Contracts: Contracts for Governance

OpenZeppelin Defender is planning Snapshot Integration: Ideas for Snapshot voting integration with Defender Admin

Though right now, you could use a community multisig to control upgrades and manage this in Defender.

Hey @bash717! As Andy mentions, Defender Admin only supports multisigs right now, with support for Timelocks coming up soon, but voting-based governance is not in the immediate roadmap. Even with the Snapshot integration we’ve planned, there’s nothing forcing the admin multisig to honor the result of the off chain vote, so it would not be trustless as you’re looking after.

My suggestion would be to keep an eye out for the governance contracts coming up in the Contracts library, or if you need a solution right now, look into Compound’s governance contracts which are the most popular all around, and rely on Tally for an UI (though I don’t know if it’s available on BSC).

1 Like