HIP: 60
title: New deploy of the UBI DAO Governor
authors: santi.eth
status: Phase 1
created: 2022-09-01
conflicts with: None
languages: EN
Simple Summary
Due to recent issues that have emerged with the existing UBI DAO Governor we recommend deploying a new version of it with the same equivalent settings that are present currenty on the PoH DAO Governor in order to advance with the mandate of HIP 22 to split UBI DAO from PoH DAO.
This vote has been put to a vote on the PoH DAO because it requires that PoH pays for the deployment costs of the new contract.
Abstract
The UBI DAO Governor has effectively reduced its submissionBaseDeposit according to the UIP-3 phase 3 vote but in the user interface we have detected that the governor itself is pointing towards an non-existent Kleros Court and requires 64 jurors to be drawn in order to make a decision in case of a dispute.
This has lead to a deposit cost in order to use the UBI DAO Governor that is 27% higher than the deposit cost of required on the Proof of Humanity and the Kleros Governor contracts.
We will deploy a new version of the UBI DAO Governor contract matching the same configuration settings from the Proof of Humanity Governor contract. The Proof of Humanity DAO will cover the cost of deploying the new contract.
Motivation
After the execution of UIP 3 on the existing UBI DAO Governor to lower submissionBaseDeposit to the voted value of 4.1 ETH, we have detected that unlike the Proof of Humanity Governor or the Kleros DAO Governor which both require a final deposit of 4.46 ETH (submissionBaseDeposit + stake for jurors), the UBI DAO Governor has a requirement of 5.7 ETH as it can be seen on the following image:
The reason for this difference in deposit cost after further inspection by @forgeron.eth is that on the arbitratorExtraData of the UBI DAO Governor contract there are 2 incorrect things:
The number of jurors was setup to 64, leading to a higher price.
It points to an inexistent subcourt.
The inexistent subcourt is set to General Court by the arbitrator so it’s fine for now, but if Kleros ever creates a dozen more subcourts in the future, the UBI governor will request an unrelated subcourt.
Implementation
Deploy a new UBI DAO Governor contract that follows the same exact settings currently available on the PoH Governor by copy pasting required configuration. This can be done easily using Remix or any standard Ethereum development tool.
Replace the on the Kleros Governor User Interface the UBI DAO Governor address for the one corresponding to the new Governor deployed on step 1.
Pay back from the Proof of Humanity treasury the 0.43 ETH required to cover the costs of contract deployment. The number used as a reference comes from the cost of deploying the original contract.
Aight, I wasn’t aware that we had a changeArbitrator function in there that would modify the governor internally… that’s all that would be required to setup the proper juror count and subcourt? Let me compose a ticket and I’ll get back to you.
Would a UIP be required still? What’s the legal precedent and the risks of this?
You can put the arbitratorExtraData the other governors use as parameter.
As I understand the governor works (suboptimally since it points to the general court for now), so changing the arbitrator parameters should be similar to the process done when changing the submissionBaseDeposit
So, based on the settings I found on the PoH Governor, we should implement the following ticket:
Title: HIP 22: Fix arbitratorExtraData to match the same configuration of the PoH Governor according to the approved clarification on https://bit.ly/3cHbpEj
Seconding @forgeron.eth
I also get the values @santisiri gets when returning values through etherscan, but that’s a etherscan bug when returning bytes. Using remix I get the right value for arbitratorExtraData:
how will this affect lp on uniswap. people have liquidity there that cant not be accessed. will this fix this?
Unfortunately I can’t see my liquidity there either.
Here are all the details of the hash transactions and the addresses we own. If you can’t assist maybe you can point me to a dev who can. Possibly a dev has removed my liquidity some how?