Add a Governor Interface for Curate V1
Context
Updating Curate V1 list parameters is currently possible only by manually building the tx or via block explorers. Therefore, governors need to interact with contracts manually or rely on unofficial tools, which creates risks when changing sensitive parameters like courts, deposits, stake multipliers, and policies.
We need an official governor interface for Curate V1, either inside the current frontend or as a separate frontend.
Goal
Create an interface where a governor wallet can connect, see the lists it governs, review current parameters, and prepare safe parameter update transactions.
2 Options
A . fully integrated into curate v1 (if the stack permits)
B . Separate official app
Requirements
1. Detect governed lists
When a wallet connects, the frontend should detect which Curate lists are governed by that wallet.
The interface should show only lists where:
governor() == connectedWallet
If no lists are found, the frontend should show a clear empty state with a message "You currently do not control any Registry."
If lists are found, it should display them as a list or cards (we can re-use our current stacks from scout or curate)
2. Show current list parameters
After selecting a list, the governor should see the main details (list name, description, image) plus all current parameters:
- Governor address
- Arbitrator
- Arbitrator extra data
- Court -> if possible, decoded in a human readable way when possible (it is possible when creating a list, we could replicate the same logic)
- Challenge period duration
- Submission base deposit
- Removal base deposit
- Submission challenge base deposit
- Removal challenge base deposit
- Winner stake multiplier
- Loser stake multiplier
- Shared stake multiplier
- Connected TCR
- Relayer contract
- Current policy metadata, if available
for each parameter, it is important to display the units. Eventually convert some of the parameters to more familiar units (eg from wei to tokens or from seconds to hours)
3. Allow only governor parameter changes
The interface should only include governor related actions.
Based on the ABI, the relevant parameter update functions are:
changeGovernor
changeArbitrationParams
changeChallengePeriodDuration
changeConnectedTCR
changeRelayerContract
changeSubmissionBaseDeposit
changeRemovalBaseDeposit
changeSubmissionChallengeBaseDeposit
changeRemovalChallengeBaseDeposit
changeWinnerStakeMultiplier
changeLoserStakeMultiplier
changeSharedStakeMultiplier
UX Requirements
Court selection
The governor should not have to manually enter raw decimals or encoded extra data.
The frontend should:
- Load the real court options on Gnosis.
- Let the governor select the court in a human readable way.
- Encode the selected court into the correct
arbitratorExtraData.
- Show both the human readable court and the raw encoded value before transaction submission.
This should work similarly to the court selection flow used when creating a new registry.
Policy update helper
Updating a policy should be easier and less error prone.
Ideally, the frontend should allow the governor to:
- Upload a new policy PDF.
- Upload the PDF to IPFS.
- Fetch the latest meta evidence.
- Update the policy related fields in the metadata JSON.
- Upload the updated JSON to IPFS.
- Prepare the
changeArbitrationParams transaction.
Human readable values
The frontend should show both raw and human readable values where useful.
Examples:
- Deposits shown in token units, not only wei.
- Challenge period shown in days or hours, not only seconds.
- Stake multipliers shown with percentage interpretation where possible.
- Court shown by name and ID, not only encoded bytes.
Safe compatibility
The flow should work properly with Safe.
This is important because the previous unofficial tool had poor Safe compatibility.
Out of Scope
This issue should not include regular Curate actions.
Do not include:
addItem
addItemDirectly
removeItem
removeItemDirectly
challengeRequest
fundAppeal
submitEvidence
executeRequest
withdrawFeesAndRewards
rule
This issue is only about governor parameter management.
Criteria Summary
- A governor can connect a wallet and see the lists governed by that wallet.
- A governor can open a list and see all current parameters.
- A governor can prepare transactions for governor controlled parameter updates.
- Court selection is human readable.
- Policy updates are easier and less error prone.
- Values are shown in both raw and human readable formats where useful.
- A transaction preview is shown before submission.
- The interface works properly with Safe.
- Non governor Curate actions are not included.
Add a Governor Interface for Curate V1
Context
Updating Curate V1 list parameters is currently possible only by manually building the tx or via block explorers. Therefore, governors need to interact with contracts manually or rely on unofficial tools, which creates risks when changing sensitive parameters like courts, deposits, stake multipliers, and policies.
We need an official governor interface for Curate V1, either inside the current frontend or as a separate frontend.
Goal
Create an interface where a governor wallet can connect, see the lists it governs, review current parameters, and prepare safe parameter update transactions.
2 Options
A . fully integrated into curate v1 (if the stack permits)
B . Separate official app
Requirements
1. Detect governed lists
When a wallet connects, the frontend should detect which Curate lists are governed by that wallet.
The interface should show only lists where:
governor() == connectedWalletIf no lists are found, the frontend should show a clear empty state with a message "You currently do not control any Registry."
If lists are found, it should display them as a list or cards (we can re-use our current stacks from scout or curate)
2. Show current list parameters
After selecting a list, the governor should see the main details (list name, description, image) plus all current parameters:
for each parameter, it is important to display the units. Eventually convert some of the parameters to more familiar units (eg from wei to tokens or from seconds to hours)
3. Allow only governor parameter changes
The interface should only include governor related actions.
Based on the ABI, the relevant parameter update functions are:
changeGovernorchangeArbitrationParamschangeChallengePeriodDurationchangeConnectedTCRchangeRelayerContractchangeSubmissionBaseDepositchangeRemovalBaseDepositchangeSubmissionChallengeBaseDepositchangeRemovalChallengeBaseDepositchangeWinnerStakeMultiplierchangeLoserStakeMultiplierchangeSharedStakeMultiplierUX Requirements
Court selection
The governor should not have to manually enter raw decimals or encoded extra data.
The frontend should:
arbitratorExtraData.This should work similarly to the court selection flow used when creating a new registry.
Policy update helper
Updating a policy should be easier and less error prone.
Ideally, the frontend should allow the governor to:
changeArbitrationParamstransaction.Human readable values
The frontend should show both raw and human readable values where useful.
Examples:
Safe compatibility
The flow should work properly with Safe.
This is important because the previous unofficial tool had poor Safe compatibility.
Out of Scope
This issue should not include regular Curate actions.
Do not include:
addItemaddItemDirectlyremoveItemremoveItemDirectlychallengeRequestfundAppealsubmitEvidenceexecuteRequestwithdrawFeesAndRewardsruleThis issue is only about governor parameter management.
Criteria Summary